github - “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
解决方案
kubectl apply
(请参阅docs)仅查找 Kubernetes 资源规范(YAML)中的更改,而不是 Docker 映像中的更改。因此,如果您更改 Docker 映像并使用相同的名称和标签发布它(即您的 Kubernetes 资源 YAML 不会更改),那么kubectl apply
单独将不会做任何事情。
当 Docker 镜像发生变化时资源的自动重新部署可能是作为 Harness 在kubectl apply
.
推荐阅读
- c++ - 向量元素到字符串
- flutter - 我正在尝试将 Future 的返回值传递给 Flutter-Dart 移动应用程序中的方法映射,但无法映射。没有为“未来”定义方法“地图”
- c# - dotnet-run 命令未按预期工作
- json - JSONDecodeError:期望值(raw_decode)
- c# - MSTest v2 不能与 net5.0-windows 一起运行
- unity3d - 在 Unity 中计算哪些 Collider 线段被击中?(将游戏对象放置在对撞机的周边)
- python - 为什么按回车键时 K_RETURN 事件没有激活?
- javascript - 刷新jquery点击事件
- button - Salesforce中发生鼠标悬停事件时如何删除“关注”按钮?
- javascript - 向网站添加交互式侧边导航