blogこの広告は、90日以上更新していないブログに表示しています。Engine(GKE)を無料で使う方法を検証しました。Platform(GCP)、初めてのKubernetes利用だったため、プロジェクトの作成から、コンテナのデプロイまで全部書いてます。全体的に、プロジェクト名やIP等、特に隠していません。以下のコマンドをインストールします。jqコマンドは、gcloudコマンドの実行結果から必要な情報だけを抽出するために使ってます。(任意)プロジェクト作成まずプロジェクトを作成します。プロジェクト名は世界で唯一になっていないといけないようです。作成に1分程度かかりました。finish...done.プロジェクトを作ったら課金を有効にします。ここだけはWebでやらないとだめっぽいです。直感的に出来たので要点だけ。Engineにアクセスして、作成したプロジェクトを選択して、「課金を有効化する」をクリックするCLI設定ここから先で実行するコマンドで、ゾーンというものを意識する必要があります。ゾーンによって環境が微妙に違ったり、価格が異ったりするらしいです。今回、無料の範囲で使いたいので米国リージョンを用いました。米国リージョンにもいくつかゾーンがあるみたいだけどどれでも良さそう。us-central1-aを採用。以降、各gcloudコマンドで毎回zoneを指定するのは間違いのもとなので、以下でデフォルトを設定しておきます。[compute/zone].また同様にプロジェクトも先程作成したものを用いるようにします。続いてGKEのクラスタを作ります。GKEはKubernetesというDockerコンテナのオーケストレーションをするための管理ソフトウェアを用いています。Kubernetesは、複数のノードにまたがるデプロイを行えます。その複数のノードの集まりをクラスタと呼んでいるようです。ここで、GKEの無料枠を確認。12ヶ月後以降ももちろん無料で使いたいので、「いつまでも無料のプロダクト」の条件に従って構築します。標準料金が適用されます。GCEのインスタンスと考えてよさそう。上記から、クラスタ作成時のポイントは以下。※通信量が1GBと意外と少ないので注意して使いましょう。ノード数は1にしなければなりませんが、仕様上いきなり1では作れないようです。最低の3で作成後、1に変更します。3,4分程度かかりました。RUNNING間髪入れずに1に変更!!!(この瞬間、もしかすると2ノード✕1時間分請求されるかもしれません。[https://container.googleapis.com/v1/projects/uphy-test/zones/us-central1-a/clusters/test-cluster].ノード数の変更はすぐには反映されないようです。1分くらいたって、以下のようにノード1個になりました。UIに接続してみます。以下のコマンドで、~/.kube/configにGKEへの接続情報が記載されます。これによりkubectlコマンドでGKE上のKubernetes環境を管理できるようになります。UIにプロキシします。UIでコンテナをデプロイしたり、状態を確認したりできます。コンテナのデプロイ続いて、試しにCLIでnginxをデプロイしてみます。nginx.deployment.ymlを作成。80以下のコマンドでdeploymentを作成します。この状態ではポートが外部に公開されていないためアクセスできません。公開する方法としてよくWebで見かけるのは、ロードバランサを用いる方法。参考までに、お金がかかるロードバランサを用いた方法はこちらです。--type="LoadBalancer"ではどうやって無料で公開するのか。ロードバランサを用いず、ノードのポートを直接公開します!nginx.service.ymlを作成。10.128.0.2ここでポイントが2つ。selectorの値は、先述のdeploymentのlabelsと合わせる。externalIPsの値は適宜変更すること。ここの値にはノードの内部IPを用いる。コマンドで取得すると以下。'.[].networkInterfaces[].networkIP'10.128.0.2deploymentと同じようにサービスを作成します。created最後に、ノードのポートを開放します。今回はhttpなので80番。tcp:80コマンド実行完了後、すぐには反映されませんでした。アクセスするためのノードの外部IPを調べます。'.[].networkInterfaces[].accessConfigs[].natIP'35.184.37.161curlで確認。検証完了したので、作ったものを削除します。プロジェクトを削除しても、しばらくの間環境は生きているようなので、クラスタをまず削除。[https://container.googleapis.com/v1/projects/uphy-test/zones/us-central1-a/clusters/test-cluster].引き続きプロジェクトも削除します。Engineを無料で使う検証を行いました。これで完全無料で使えると思いますが、しばらくは請求情報をウォッチしておこうと思います。〜Heroku〜Herokuで無料でDockerイメージを動かしてみます。〜Heroku〜月別アーカイブ参加グループdodosoftはてなブログをはじめよう!uphyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。