CircleCI で GKE(Google Container Engine) にデプロイしようと思っても、(案の定)現状のドキュメントのままやってもうまくいかないところがあります。その辺りのポイントをまとめます。
ベースとなるドキュメント
Docker を利用する部分は、ここをベースに作ります。Kubernetes を使う部分は、GCE(Google Compute Engine) に Kubernetes をインストールして導入する手順となっているので、このまま使えません。GKE の場合は、もっと簡単に使うことができます。
GCP との連携
GCP(Google Cloud Platform) の CLI である gcloud
コマンドは、既に導入された状態になっていますが、操作するためには認証を通す必要があります。この辺は、このドキュメントのまま使えます。
set project
する前に、 set compute/zone
もしておいたほうがいいでしょう。
はまりポイント
gcloud
で component update
しようとするとこける
ドキュメントにはありませんが、 sudo
する必要があります。
ログの出力先を chmod
してますが、これをやっておかないとログが出力できずにこけます。
docker build
中にエラーがでる
こんなエラーです。
Error removing intermediate container 1f3a1d541241:
Driver btrfs failed to remove root filesystem
1f3a1d541241e757d48f34329508253e9ee139380b7b914a3b1104677eb0e8ee:
Failed to destroy btrfs snapshot: operation not permitted
根本的な解決にはなっていませんが、エラーがでる処理をスキップします。
エラーがでていても、処理は進んでいくので、気になる人はオプションをつけておくといいかなと思います。