为部署启动滚动更新的自动化替代方案
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,此处解释:.
因此,为了更新 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,此处解释: