在Google容器引擎中更改映像后,如何更新容器-vm中的容器?

时间:2015-01-27 22:12:29

标签: google-cloud-platform google-kubernetes-engine google-container-registry

我在Google容器引擎上的container-vm上的容器中运行服务。我跟着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,如何更新正在运行的容器?

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

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

cloudcfg.sh -u 15s rollingupdate dataController

但我找不到文档,而是用于在Kubernetes集群中运行容器。如果我正在运行一个container-vm,那么维护我的容器的建议方法是什么?容器仍然具有kublet服务,但我无法在图像更改时找到如何使用它来更新容器。

1 个答案:

答案 0 :(得分:1)

容器VM只是完整Kubernetes / Container Engine基础架构的一部分。 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