aku*_*scu 8 containers docker kubernetes devops
我有一个私人存储库。我想在此私有存储库上更新映像时自动更新 Kubernetes 上的映像。我怎样才能做到这一点?
您应该为每个构建分配某种唯一标识符。这可以基于源代码控制标记(如果您明确标记版本)、提交 ID、内部版本号、时间戳或其他内容;但重要的细节是,每个构建都会创建一个具有唯一名称的独特图像。
完成此操作后,您的 CI 系统需要使用新的image:. 如果您使用的是 Kustomize 或 Helm 等工具,则有标准模式可以提供此功能;如果直接使用kubectl apply,则需要在应用之前以某种方式修改部署规范。
这些因素的结合意味着 Deployment 的嵌入式 pod 规范将发生某种实质性的改变(它image:已经改变),这将导致 Kubernetes 部署控制器自动为您进行滚动更新。如果出现问题,普通的 Kubernetes 回滚机制将正常工作(因为带有昨天标签的镜像仍在您的存储库中)。您不需要手动设置imagePullPolicy:或手动导致部署重新启动,更改部署中的映像标签足以导致正常部署发生。
| 归档时间: |
|
| 查看次数: |
5536 次 |
| 最近记录: |