Docker 如何使用滚动更新重新提取容器图像?
我有一个kubernetes RC/pod,由带有如下图像的容器组成:Docker 如何使用滚动更新重新提取容器图像?,docker,kubernetes,Docker,Kubernetes,我有一个kubernetes RC/pod,由带有如下图像的容器组成:foobar/my image:[branch]-latest,其中“branch”是git分支(“master”,等等) 使用滚动更新强制RC重新拉取图像以获取最新版本的最佳方法是什么?暴力方法是简单地删除RC并重新创建它,但这会导致服务停机 滚动更新是否仅在指定精确的图像标记而不是“最新”之类的标记时才可能进行?如果希望滚动更新重新提取图像,则必须使用:最新的标记或指定始终的图像提取策略(请参见Kubernetes文档中的
foobar/my image:[branch]-latest
,其中“branch”是git分支(“master”,等等)
使用滚动更新强制RC重新拉取图像以获取最新版本的最佳方法是什么?暴力方法是简单地删除RC并重新创建它,但这会导致服务停机
滚动更新是否仅在指定精确的图像标记而不是“最新”之类的标记时才可能进行?如果希望滚动更新重新提取图像,则必须使用
:最新的标记或指定始终
的图像提取策略(请参见Kubernetes文档中的)
在您的情况下,您不能使用:latest
标记,因为您希望在特定分支上使用最新的图像,因此使用pull策略是一种方法
是一个示例文件,显示了如何使用始终
的图像提取策略 您应该能够使用指定当前使用的相同图像名称的:
kubectl rolling-update <replication-controller-name> --image=foobar/myimage:[branch]-latest
kubectl滚动更新--image=foobar/myimage:[branch]-最新
这将(在幕后)创建一个新的复制控制器,该控制器是具有“新”映像的现有复制控制器的副本,然后逐步调整每个复制控制器的大小,直到旧的复制控制器具有零个POD,而新的复制控制器具有所需的POD数,最后删除旧名称并重命名新名称以使用旧名称 不过,我的问题是,我不想更改任何RC。我只是想让库伯内特斯在滚动的基础上重新绘制图像。这可能吗?当我在选择器中添加了deployment
键并将imagePullPolicy更改为Always后,这就非常有效了。谢谢