Frankcox
55 天前
是要在 Deployment Pod 的 image 触发 update ,有 image 变化刚刚开始时发通知,还是 Deployment Pod 的 image 更新完毕后发通知?
如果是前者那比较简单,可以自己写个 Admission Controller ,有 Deployment update 操作时,查找当前集群的对应的 Deployment ,比较前后 Image ,有变化就通知。
如果是后者那比较麻烦,我之前写过一个 Deployment 滚动更新自动暂停控制器,其中就是需要 watch Deployment 的滚动更新情况。你可以先 watch Deployment 的 Update 事件,然后每次 watch 的时候根据 Deployment 去找对应的 replicaSet ,在通过比较新老 replicaSet 判断是否触发滚动更新,然后再 watch ReplicaSet ,当其 Status 的 Replicas 和 Spec 的 Replicas 相等时,认为滚动更新结束。这个时候发通知。