Google 容器引擎中的镜像更改后如何更新容器虚拟机中的容器?

How do you update a container in a container-vm after its image changed in Google Container Engine?

我 运行 Google 容器引擎上容器虚拟机上的容器中的服务。我关注了 https://cloud.google.com/compute/docs/containers/container_vms#creating_containers_at_time_of_instance_creation 首先创建 containers.yaml conf:

version: v1beta2
containers:
  - name: example-image
    image: gcr.io/your_project_name/example-image

然后创建实例:

gcloud compute instances create containervm-example \
    --image container-vm \
    --metadata-from-file google-container-manifest=containers.yaml \
    --zone us-central1-a \
    --machine-type f1-micro

如果我的图像更改为 gcr.io/your_project_name/example-image:new-tag,我该如何更新 运行ning 容器?

我是否必须删除该实例并创建另一个具有相同名称但更新的 conf 文件与我的新映像同名的实例?这对我来说似乎有点激进。如果我尝试从虚拟机中停止 运行ning 容器,它会自动重新启动。如果可能的话我不想在虚拟机上做任何手动操作,我只想 运行 我的容器就可以了。

在这个 video 中,我看到要更新 运行ning 容器,他使用如下命令:

cloudcfg.sh -u 15s rollingupdate dataController

但我没有找到文档,它是针对 运行在 Kubernetes 集群中使用容器的。如果我正在 运行 设置一个容器虚拟机,在其中维护我的容器的建议方法是什么?容器仍然有 kublet 服务,但我找不到如何在镜像更改时使用它来更新容器。

容器 VM 只是完整 Kubernetes/Container 引擎基础架构的一部分。 Container VM 不支持完整的 Kubernetes API,我在 I/O 演示中做的 kubecfg.sh 示例使用完整的 Kubernetes API.

这里有更多关于使用完整容器引擎的信息: https://cloud.google.com/container-engine/

以及来自 OSS Kubernetes 项目的滚动更新示例: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/kubectl.md#rollingupdate