Kubernetes:--image-pull-policy始终不起作用

问题描述 投票:11回答:2

我有一个使用图像的Kubernetes部署:test:latest(不是真实的图像名称,但这是最新的标签)。该图像位于docker hub上。我刚刚将test:latest的新版本推送到dockerhub。我原本希望在Kubernetes中重新部署我的Pod,但没有任何反应。

我已经这样创建了部署:

kubectl run sample-app --image=`test:latest` --namespace=sample-app --image-pull-policy Always

为什么在推送新映像后没有触发新部署?

kubernetes dockerhub
2个回答
12
投票

Kubernetes是not正在监视图像的新版本。映像拉取策略指定如何获取映像以运行容器。 Always表示它将在每次启动容器时尝试拉出新版本。要查看更新,您需要删除Pod(而不是Deployment)-新创建的Pod将运行新映像。

没有直接的方法让Kubernetes用新映像自动更新正在运行的容器。这将是连续交付系统的一部分(也许将kubectl set image与新的sha256sum或图像标签一起使用-但不使用latest)。


0
投票

如果使用yml文件,请使用]执行部署>

kubectl apply -f myfile.yml

imagePullPolicy: Always

在您的文件上,k8s不会提取新图像。您首先需要删除吊舱,K8s部署将自动拉取映像。

© www.soinside.com 2019 - 2024. All rights reserved.