Kubernetes 滚动更新将通过更新创建新的 Pod,并逐渐将旧的 Pod 替换为新的,一旦新 Pod 准备好,它将通过与旧 Pod 的循环获取流量。
但是,如果我有 2 个服务,其中一个正在使用另一个服务并且我需要同时在它们中进行更新,该怎么办?我不希望旧服务 1 会调用新服务 2 的情况。
Kubernetes 滚动更新将通过更新创建新的 Pod,并逐渐将旧的 Pod 替换为新的,一旦新 Pod 准备好,它将通过与旧 Pod 的循环获取流量。
但是,如果我有 2 个服务,其中一个正在使用另一个服务并且我需要同时在它们中进行更新,该怎么办?我不希望旧服务 1 会调用新服务 2 的情况。
做这样的事情的简单而干净的方法是创建 2 个新服务,我们称它们为 1b 和 2b(1a 与 2a 对话,1b 与 2b 对话)。然后,使用负载均衡器将流量定向到 1a 或 1b。当您确定 1b 正在按预期工作时,您关闭 1a 和 2a。
这将需要一些配置杂耍和更多资源,但有可能完成。显然,对于您想要更新的每项服务,这都会变得更加复杂。