0

假设有一个 1.0 版的 Web 应用程序在生产中运行。您希望与生产版本 1.0 并排部署新版本 2.0。您希望将流量从用户/客户子集路由到新版本。换句话说,如何在 Kubernetes 上为基于 Web 的应用程序实现真正的金丝雀版本(如本文所定义

Kubernetes文档讨论了金丝雀部署,但没有提到如何实现基于用户的路由。是否可以通过 Kubernetes 提供的现有负载均衡支持实现基于 cookie 的粘性负载均衡。

4

1 回答 1

0

Kubernetes 上的 Canary 部署涉及部署同一 App 但不同版本的 Pod:例如,如果您有 5 个 Pod 用于一个 App,其中一个可能是新版本,您的 1/5 流量将被定向到这个新版本.

要实现基于用户的金丝雀部署,您可以在服务上使用粘性会话,使用

sessionAffinity: ClientIP

这将确保当客户端连接时,它将始终位于同一个 Pod 上(如果 IP 保持不变)

我认为没有基于“cookie”的方式来分配流量。

于 2016-12-08T16:24:46.743 回答