首页 > 解决方案 > “kubectl apply”如何验证 docker 镜像的变化?

问题描述

我们正在执行滚动更新以更改 docker 映像。

部署工具(harness)kubectl apply为 docker 映像中的每个更改运行命令。


默认情况下滚动更新,即我们不需要strategy在 YAML 中提供以下内容:

strategy:
  type: RollingUpdate
  rollingUpdate:
    maxSurge: 1
    maxUnavailable: 1  # this will ensure zero downtime

关于 docker 镜像的变化,是 docker 镜像的名称决定kubectl apply执行滚动更新吗?因为我们拥有的 docker 镜像是,标记为image-name:latest

标签: githubkuberneteskubectl

解决方案


kubectl apply(请参阅docs)仅查找 Kubernetes 资源规范(YAML)中的更改,而不是 Docker 映像中的更改。因此,如果您更改 Docker 映像并使用相同的名称和标签发布它(即您的 Kubernetes 资源 YAML 不会更改),那么kubectl apply单独将不会做任何事情。

当 Docker 镜像发生变化时资源的自动重新部署可能是作为 Harness 在kubectl apply.


推荐阅读