Kubernetes:--image-pull-policy 总是不起作用

标签 kubernetes dockerhub

我有一个使用图像的 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 是 不是 观看图像的新版本。镜像拉取策略指定如何获取镜像来运行容器。 Always意味着它会在每次启动容器时尝试拉取一个新版本。要查看更新,您需要删除 Pod(而不是部署) - 新创建的 Pod 将运行新镜像。

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

关于Kubernetes:--image-pull-policy 总是不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45905999/

相关文章:

c++ - curl_slist_free_all() 在带有 Debian 8.7 的 GKE 上导致段错误

docker - 有没有办法为没有互联网访问权限的机器下载没有 "docker pull"的 docker hub 镜像?

docker - 如何从 Docker 镜像中获取不可变标识符(摘要)列表?

linux - 定义环境变量,引用容器的可变环境[kubernetes]

kubernetes - 成功完成后Kubernetes Pod可以过期吗?

kubernetes - 按需部署临时卷并在Pod之间共享

docker - Docker Hub 会保存我推送给它的图像的历史版本吗? (就像 Github 处理文件一样?)

docker - 配置 docker 注册表通知

DockerHub API - 列出标签

Docker:我如何提取特定的构建 ID?