まず、「iis」というデプロイメントを作成し、それを3つのレプリカにスケーリングします。サービスを作成せずに、これらのエンドポイントにどのようにアクセスできますか?
あなたは(あなたがPODのIPSを登録する標準のロードバランサなど)、このためのバンド・ソリューションのうちを持っていない限り
あなたがすることはできません。。サービスは、ポッド間の接続を容易にするためにあります。それらを使用してください!
ここで、サービスはこのサービスのトラフィックをクラスタ内でどのように負荷分散しますか?
これを理解するには、Kubernetesでのサービスの仕組みを知ることが重要です。
サービスはkube-proxyによって処理されます。
で何が起こる
-A KUBE-SERVICES ! -s 192.168.0.0/16 -d <svc-ip>/32 -p tcp -m comment --comment "namespace/service-name: cluster IP" -m tcp --dport svc-port -j KUBE-MARK-MASQ
、iptablesのは、SVC-IP宛てのすべてのパケットを見て、その後はににそれらを指示します。KUBE-プロキシ(デフォルトでは)少しこのようになりiptablesのルールを作成し、
-A KUBE-SVC-AGR3D4D4FQNH4O33 -m comment --comment "default/redis-slave:" -m statistic --mode random --probability 0.50000000000 -j KUBE-SEP-25QOXGEMBWAVOAG5
-A KUBE-SVC-GYQQTB6TY565JPRW -m comment --comment "default/frontend:" -m statistic --mode random --probability 0.33332999982 -j KUBE-SEP-JZXZFA7HRDMGR3BA
-A KUBE-SVC-GYQQTB6TY565JPRW -m comment --comment "default/frontend:" -m statistic --mode random --probability 0.50000000000 -j KUBE-SEP-ZW5YSZGA33MN3O6G
だから、答えは、それはです:あなたはこのような何かを見ることができます - あなたはiptablesのルールでさらに見てみると、「確率」で検索した場合、サービス
を生産しているポッドIPいくつかの確率でランダム能力の重み付け。確率が加重される方法のより完全な説明はkubernetesの文書によると、このgithub comment
で見ることができ、2つのサービスプロキシ、ユーザ空間またはiptablesのは、どのように私は私のサービスが使用している1を知ることができ、がありますか?
また、これはkube-proxyによって決定され、kube-proxyが起動するときに決定されます。これは、kube-proxyプロセスのコマンドラインフラグです。デフォルトでは、iptablesを使用します。あなたが何をしているのか分からない限り、それを固執することを強くお勧めします。
私の質問は、この外部ロードバランサがトラフィックをポッドにどのようにバランスさせるかということです。
これは、クラウドプロバイダと選択したLoadBalanceに完全に依存します。 LoadBalancerサービスタイプはNodePortにサービスを公開し、ロードバランサ上の外部ポートをそれに戻します。 すべてのLoadBalancerタイプは、サービスを提供するノードIPを外部プロバイダのロードバランサ(たとえば、内部クラスタIPサービスではなくELB)に登録します。これを判断するためにクラウドプロバイダのドキュメントを読むことをお勧めします。
また、このLoadBalancerの場合、このサービスへの内部トラフィック(ロードバランシング)はどのように負荷分散されていますか?
この場合も、クラウドプロバイダのドキュメントを参照してください。
Azureロードバランサの説明に従って、「ロードバランサを設定して、VIRTUALマシン間で着信トラフィックを負荷分散することができます。 したがって、ロードバランサがノードのいずれかのNodePortにトラフィックをリダイレクトするだけであれば、そのノードで実行されているkube-proxyは、独自のスペース内で実行中のポッドを選択するか、 ? –
そして空白のロードバランサはトラフィックをサービスポートにリダイレクトするだけで、ポッドの選択を決定するのはkube-proxyだから、ロードバランサの目的は何ですか?実際のロードバランシングはkube-proxyによって行われます。 –