在部署到Kubernetes之前,Docker镜像检查

假设我有一个名为“xyz”的部署/ Pod。 我想检查这个Pod是否有特定的图像。 如果这个图像与我最近从dockerregistry中获取的图像不同,那么就部署。 否则不要部署。 这是假设标签不更新。 任何想法赞赏。

看看这个线程是基于滚动更新机制。 或者直接使用命令行工具设置为kubectl,

$ kubectl set image deployment/auth-deployment auth=auth:2.1.0 

然后你可以简单地检查一下状态和部署,通过上面的部署来获得改变。 详情请参阅Genti Saliu给出的评论链接。

请注意,只有当部署的pod模板发生变化时,转出过程才会触发,即.spec.template被更改。 使用上面的set命令不能保证正常运行时间,直到部署过程完成。 所以,这只是你的开发环境中的用户。

没有停机时间,你必须使用适当的策略作为一个下面,

 minReadySeconds: 7 strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnavailable: 1 

只要maxUnavailable被设置为零,在minReadySeconds结束后实例化新的pod,现有的pod就不会被replace。 这不会给任何停机时间。 希望这可以帮助。