【GKE】PodにデプロイされたDockerコンテナをアップデートする手順まとめ


GKEでPodにデプロイされたDockerコンテナをアップデートする手順の目次

私は手動でGKEでPodにデプロイされたDockerコンテナをアップデートする場合、下記の手順通りに対応すると、作業がスムーズに進みました。

  1. GCPのProjectのパスを通す
  2. 最新のMasterブランチからPull(Git)
  3. Dockerのイメージの作成
  4. GCRへDockerイメージをPush
  5. 古いコンテナイメージをGKEの管理画面でアップデートする

上記、手順の詳細をこれからまとめていきます。

※手順そのものについては、以下の公式ドキュメントを参考にしており、説明を色々省きつつ、コンテナイメージのアップデートのみをかけるバージョンがこちらのドキュメントだと思ってもらえると幸いです。

参考:https://cloud.google.com/kubernetes-engine/docs/tutorials/hello-app?hl=ja

GCPのProjectのパスを通す

$ gcloud config set project {project_name}
$ export PROJECT_ID=$(gcloud config get-value project -q)

最新のMasterブランチからPull(Git)

$ git pull origin master

Dockerのイメージの作成

// Dockerfileがあるディレクトリに移動
$ cd {project_dir}
$ docker build -t gcr.io/${PROJECT_ID}/{app_name}:{tag_version(v1とかv2とか)} .

Dockerfileそのものの作成方法(multi-stage build)を知りたい人は、以下にまとめましたので参考にしていただけると幸いです。

参考:https://qiita.com/arthur_foreign/items/fca369c1d9bde1701e38

GCRへDockerイメージをPush

$ gcloud docker -- push gcr.io/${PROJECT_ID}/{app_name}:{tag_version}

古いコンテナイメージをGKEの管理画面でアップデートする

まずは、アップデートをかけたいコンテナがデプロイされているPodをクリックしましょう。

次に、管理画面で「操作」をクリックして「ローリングアップデート」をクリックしましょう。

そして、先ほどGCR上にPushしたDockerイメージのイメージ名を入力してあげましょう。

すると、古いDockerコンテナイメージがアップデートされます。

※個人的にGUIの方がやりやすかったので管理画面からアップデートをかけています。