为部署启动滚动更新的自动化替代方案

Automated alternative for initiating a rolling update for a deployment

因此,为了更新 pod 上的图像 运行ning,我必须修改部署配置(yaml 文件),并且 运行 类似于 kubectl apply -f deploy.yaml

这意味着,如果我不手动编辑 yaml 文件,我将不得不使用一些模板/搜索和替换功能。这不是很理想。

有没有更好的方法?

似乎有一个 kubectl rolling-update 命令,但我不确定它是否适用于 'deployments'。

例如 运行宁以下:kubectl rolling-update wordpress --image=eu.gcr.io/abcxyz/wordpress:deploy-1502443760

产生错误:

error: couldn't find a replication controller with source id == default/wordpress

我正在使用它来更改部署中的图像:

kubectl set image deployment/nginx-deployment nginx=nginx:1.9.1

如果您将 yaml 文件视为真实来源,则在 yaml 中使用类似 stable 的标签,并且仅在移动标签时发出 kubectl set image 命令(使用 sha256 图像 id 实际上触发推出;图像名称像字符串一样匹配,因此即使标签现在指向不同的图像,从 :stable 更新到 :stable 也是空话)。

有关详细信息,请参阅 updating a deployment

以上要求部署副本数设置大于1,此处解释:.