67405


nginx ingress controller が session affinity(cookie)で load balancing で動作中(たとえば，
pod1, pod2, pod3)とします。pod1 が削除され，pod4 が作成され pod2, pod3, pod4 にload balancing
される状態になった場合、元々 pod1 に配信されていたセッションを持ったリクエストは、どの pod に割り当てられますか？  
・pod1 が削除され，再割り当てされたpodにアクセスし続ける  
・pod1 の代わりに作成されたpod4 にアクセス先が変更される  
・そのほか


CC BY-SA 4.0
2020-06-04T03:11:07.337
67273
2020-06-08T01:37:31.243
40472
question
nginx kubernetes
nginx ingress controller の ロードバランサーの挙動(podが一度削除され新しいpodが再登録された場合)


自己レスです。以下で、affinity モード(affinity-mode アノーテーション)を設定することで制御可能とありました。  
ありがとうございました。

"Setting this to persistent will not rebalance sessions to new servers,
therefore providing maximum stickyness."  
この値を persistent にすると，新しいサーバにリバランスされません。よって，最大限の stickyness を提供します。

<新しいpodが増えた場合の挙動>  
affinity-mode:balanced → リバランスされる可能性アリ  
affinity-mode:persistent → はじめに接続したpodに接続し続ける

<https://kubernetes.github.io/ingress-nginx/user-guide/nginx-
configuration/annotations/#session-affinity>


CC BY-SA 4.0
2020-06-08T00:55:41.797
67405
2020-06-08T01:37:31.243
2020-06-08T01:37:31.243
40472
40472
67273
answer