使用容器优化的操作系统在 GCP 实例组上自动更新/拉取 docker 镜像

Tia*_*vêa 0 google-cloud-platform google-container-os

我有一个在实例组中运行的 GCP实例,并使用托管在 GCR 上的单个映像进行容器优化的操作系统

我想将一个新图像拉到 GCP,并使用该新图像刷新实例图像。我正在构建和推送 GitHub Actions,并且可以gcloud在 CI 工作流中调用一些命令。

我想说“嘿,实例组,请再次拉取容器镜像”。这样做会很好地保持服务运行。

这样做的最佳方法应该是什么?什么完整的gcloud命令来做到这一点?

Joh*_*ley 5

步骤是:

  1. 准备一个新的 Docker 镜像。
  2. 基于新的 Docker 镜像创建一个实例模板
  3. 更新 MIG(托管实例组)。

创建实例模板:

gcloud compute instance-templates create-with-container [TEMPLATE_NAME] --container-image [DOCKER_IMAGE]
Run Code Online (Sandbox Code Playgroud)

更新 MIG:

gcloud compute instance-groups managed rolling-action start-update [MIG_NAME] --version template=[TEMPLATE_NAME]
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读有关为更新配置可用选项的更多信息。

  • @TiagoGouvêa 是的,您需要创建一个新的实例模板。托管实例组是不可变的。如果您使用相同的 docker 镜像标签名称,然后进行滚动操作替换,则可能会作弊。除了测试之外,我不推荐该策略 (2认同)