本番環境で動作しているWebアプリケーションのバージョン1.0があるとします。新しいバージョン2.0を本番バージョン1.0の横に並べて展開したいとします。トラフィックをユーザー/顧客のサブセットから新しいバージョンにルーティングしたいとします。言い換えれば、Kubernetesのウェブベースのアプリケーションのための実際のカナリアのリリース(thisの記事で定義)を達成する方法。Kubenetes - Webベースのアプリケーションの場合、顧客のサブセットを新しいバージョンのアプリケーションにルーティングするために、Cookieベースのルーティングをサポートしていますか?
Kubernetes documentationは、カナリアの展開について話していますが、ユーザーベースのルーティングを実現する方法については言及していません。 Kubernetesが提供する既存のロードバランシングサポートを使用してクッキーに基づいてスティッキーなロードバランシングを実装することは可能ですか?
はい、ただし、ルーティングロジックを制御することはできません。ユーザーの選択されたサブセットのみを新しいPodにルーティングすることはできません。私はユーザーのログイン時にカナリークッキーを設定し、そのクッキーを使用してユーザーをカナリアポッドに誘導することを考えていました。 Kubernetesが負荷分散を提供していれば、それは不可能だと思います。 –
私はそうは思わない。クッキーはどこかでトラフィックをプロキシするために解析する必要があります。それは非常にカスタムソリューションのようだ – MrE