コンテナアプリ開発に便利な Visual Studio Code と IntelliJ 用のプラグイン Cloud Code で、Google Cloud Kubernetes Engine (GKE) クラスタにアプリケーションをデプロイできるようになりました。ここでは、Visual Studio Code 用を使って、サンプルアプリ Guestbook をデプロイしてみたいと思います。また、コンテナのビルドは Cloud Build を使ってみしょう。
方法は、QuickStart を見ればだいたいわかりますが、日本語でもまとめてみました。
-
QuickStart を参考に、Docker と kubectl と Skaffold を入れておきます。ここでは Mac 環境での準備を参考に書いておきます。ちなみに、Skaffold は Kubernetes クラスタで、アプリケーションの継続的デリバリーを行うコマンドラインツールです。Skaffold を利用するには kubectl と Docker が必要になります。
- Docker Desktop(Mac 版)をインストール
- kubectl と skaffold をインストール
brew install kubernetes-cli
brew install skaffold
- Cloud SDK を インストールし、gcloud 環境を初期化
curl https://sdk.cloud.google.com | bash
exec -l $SHELL
gcloud init
GCP コンソールより、 GKE クラスタを構築(Cloud Code を入れると、Cloud Code からも作成できるようです)
VS Code から、
Shift + Command + X
で拡張機能ビューを表示して、Cloud Code
を検索しインストール
Shift + Command + P
でコマンドパレットを表示して、Cloud Code: New Application
で、アプリケーションを作成。ここでは、Node.js: Guestbook
を選択
GKE クラスタが正しく構築されていると VS Code にこのように表示されます。左のアクティビティバーの下にある Cloud Code のアイコンをクリックすると、Kubernetes 環境が表示されます。
作成された、GKE クラスタを右クリックし
Set as Active Cluster
をクリックし、Active Cluster に設定すると、Cluster Explorer に GKE クラスタが表示されます。-
Cloud Code: Deploy
でサンプルアプリケーションをデプロイ-
[default]
ローカルの Docker 環境でビルド -
cloudbuild
Cloud Build 環境でビルド (今回はこちらを選択)
-
Cloud Build 環境で、コンテナをビルドするときの注意
+ quickstart-docker を参考に、Cloud Build API を有効にしておきましょう。
+getting google client: google: could not find default credentials.
といエラーが出力される場合はgcloud auth application-default login
で アプリケーションのデフォルトクレデンシャルを設定してみましょう。