kubernetes可能同时运行不同的图像,这会导致问题?

时间:2018-09-19 10:19:08

标签: kubernetes

假设我有一个使用映像myImage:latest(在docker.hub中)的pod,其映像imagePullPolicyAlways,并且它在工作程序节点1中运行。映像ID为myImage:latest@sha-1111

假设我使用myImage:latest@sha-2222将新映像推送到docker.hub。之后,我将Pod放大,然后在工作节点2中安排了Pod,它将拉动新映像以启动Pod。在这种情况下,我想新吊舱将使用图像sha-2222?这会是个问题吗?我们怎么解决呢?

PS:

  

请注意,您应避免使用:latest标记,请参见   配置以获取更多信息。

不了解使用最新标签是一种不好的做法。但是我相信,如果我们将其标记为特定数字,也会发生这种情况。

1 个答案:

答案 0 :(得分:1)

如果您标记一个特定的数字,那么该特定的数字将被拖到node2上->没问题。

如果您不标记特定的数字,而是使用最新的(如您所指出的,不建议使用)->结果取决于容器的行为是否向后兼容。例如,如果第一个容器是v1.1.0,第二个容器是v1.2.0,并且您的版本控制基于语义版本控制,那么您仍然应该没有实际问题。

要解决此问题,请使用特定的图像版本并在进行缩放时执行升级。现有实例将更新为新版本,新实例(以满足扩展需求)将从新版本中拉出。