我有一个包含3个容器(ca、cb、cc(的pod。
此容器归TeamA所有。团队A创建并拥有ca。另外两个容器由另外两个团队开发。cb的TeamB和cc.的TeamC
cb和cc也作为同一集群中的服务独立运行(在TeamA pod之外(。
TeamA-pod如何发现cb或cc何时在集群中部署新版本,以及我们如何确保它触发刷新?
正如你可能猜测的那样,cb和cc是ca非常依赖的服务,它们本身也是服务。
有没有办法确保TeamA pod在TeamB和TeamC向集群部署新版本时保持cb和cc的更新?
这不是Kubernetes的任务。您应该在CI/CD工具中对此进行配置。例如,每当一个新的提交被推送到服务a时,它都会首先触发a的管道,然后触发服务B和C的相应管道。每个流行的CI/CD系统都有这种能力,通常就是这样做的。
适当的CI/CD测试也可以保护您免受错误的影响。如果服务A更新破坏了与B和C的兼容性,您的管道应该会失败并通知您。
没有一个具体的答案。https://github.com/jetstack/version-checker提供了一种度量/警报方法。许多kubectl插件提供了CLI报告方法。像这样的东西https://fluxcd.io/docs/guides/image-update/可以在某些参数范围内自动进行升级。
或者只是和你的同事谈谈,这既是一个技术问题,也是一个社会问题,你需要双方的答案。