ロカリティ負荷分散
この一連のタスクでは、Istioでロカリティ負荷分散を構成する方法を示します。
ロカリティは、メッシュ内のワークロードインスタンスの地理的な位置を定義します。次の3つ組がロカリティを定義します。
リージョン:us-eastなどの広大な地理的エリアを表します。通常、リージョンには複数のアベイラビリティゾーンが含まれます。Kubernetesでは、ラベル
topology.kubernetes.io/regionによって、ノードのリージョンが決定されます。ゾーン:リージョン内のコンピューティングリソースのセット。リージョン内の複数のゾーンでサービスを実行することで、エンドユーザーとのデータロカリティを維持しながら、リージョン内のゾーン間でフェイルオーバーが発生する可能性があります。Kubernetesでは、ラベル
topology.kubernetes.io/zoneによって、ノードのゾーンが決定されます。サブゾーン:管理者は、より詳細な制御(「同じラック」など)のためにゾーンをさらに細分化できます。サブゾーンの概念はKubernetesには存在しません。その結果、Istioはサブゾーンを定義するために、カスタムノードラベル
topology.istio.io/subzoneを導入しました。
ロカリティは、一致順序で階層化されています。
リージョン
ゾーン
サブゾーン
つまり、リージョンfooのゾーンbarで実行されているPodは、リージョンbazのゾーンbarで実行されているPodに対してローカルとはみなされません。
Istioはこのロカリティ情報を使用して、ロードバランシングの動作を制御します。このシリーズのいずれかのタスクに従って、メッシュのロカリティロードバランシングを設定してください。