如何使用滚动更新来重新拉取容器图像?

bk0*_*bk0 3 docker kubernetes

我有一个kubernetes RC/pod由容器组成,图像如下:foobar/my-image:[branch]-latest其中"branch"是git分支("master"等).

什么是使用滚动更新强制RC重新拉动图像以获得最新版本的最佳方法?强力方法是简单地删除RC并重新创建它,但这会导致服务停机.

滚动更新只有在指定精确的图像标记时才有可能,而不是像"最新"那样吗?

Rob*_*ley 5

您应该能够使用指定与当前使用的图像名称相同的滚动更新:

kubectl rolling-update <replication-controller-name> --image=foobar/myimage:[branch]-latest
Run Code Online (Sandbox Code Playgroud)

这将(在幕后)创建一个新的复制控制器,它是具有"新"映像的现有复制控制器的副本,然后逐步调整每个复制控制器的大小,直到旧的复制控制器具有零pod并且新的复制控制器具有所需数量的pod,最后删除旧的pod并重命名新的pod以使用旧名称.