Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker 当容器摘要相同时禁用Kubernetes pod更新,即使给定了不同的图像标记_Docker_Kubernetes_Deployment - Fatal编程技术网

Docker 当容器摘要相同时禁用Kubernetes pod更新,即使给定了不同的图像标记

Docker 当容器摘要相同时禁用Kubernetes pod更新,即使给定了不同的图像标记,docker,kubernetes,deployment,Docker,Kubernetes,Deployment,假设我有一个图像foo,带有标签v1。 所以我通过foo:v1在Kubernetes上部署了它 然而,出于某种原因(例如monorepo中的monoversion),我使用标记v2将完全相同的图像推送到容器注册表。 我将k8s清单更改为foo:v2 在这种情况下,我只想在v1和v2的image digest不同时更新pod。因此,对于foo,摘要是相同的,因此foo:v1的容器应该继续运行 这可能吗?如果是,怎么做 谢谢如果不重新启动pod,就无法更新标签图像。 唯一可行的方法是显式地使用摘要而

假设我有一个图像
foo
,带有标签
v1
。 所以我通过
foo:v1
在Kubernetes上部署了它

然而,出于某种原因(例如monorepo中的monoversion),我使用标记
v2
将完全相同的图像推送到容器注册表。 我将k8s清单更改为
foo:v2

在这种情况下,我只想在
v1
v2
image digest
不同时更新pod。因此,对于foo,摘要是相同的,因此
foo:v1
的容器应该继续运行

这可能吗?如果是,怎么做


谢谢

如果不重新启动pod,就无法更新
标签
图像。 唯一可行的方法是显式地使用
摘要
而不是标记

所以现在图像规格如下所示:

spec:
  image: foo@sha256:50cf965a6e08ec5784009d0fccb380fc479826b6e0e65684d9879170a9df8566
这样,图像就不依赖于标记。摘要可以在
dockerhub
上找到,也可以通过运行命令
docker images--Digests

谢谢!在Reddit()中,建议
获取kbld.io
以及在部署时自动解析要摘要的标记。(不过还没试过)