Azure Local および Windows Server 上の Azure Kubernetes Service でカスタム ロード バランサーを作成して使用する
適用対象: Azure Local 22H2 上の AKS、Windows Server 上の AKS
この記事では、カスタム ロード バランサーを作成して使用する方法について説明します。 Azure Local および Windows Server 上の Azure Kubernetes Service (AKS) では、ロード バランサーを使用して Kubernetes API サーバーに要求を送信し、アプリケーション サービスへのトラフィックを管理します。 カスタム ロード バランサーを使用する場合、kube-vip が自動的にデプロイされて、Kubernetes API サーバーへの要求の負荷分散を管理し、高可用性を確保します。
Note
MetalLB や Software Defined Network (SDN) の負荷分散などの他のロード バランサーを使用して、アプリケーション サービスへのトラフィックを負荷分散することもできます。
開始する前に
Azure Local と Windows Server に AKS をインストールし インストール中のネットワーク構成手順でロード バランサーの仮想 IP アドレスの範囲を指定する必要があります。
カスタム ロード バランサーを構成する
警告
独自のロード バランサーをデプロイすることを選択した場合、インストール後に Kubernetes クラスターに到達できなくなります。 type=LoadBalancer
を指定してサービスをデプロイした場合、ロード バランサーを構成するまで、そのサービスにも到達できなくなります。
この構成では、クラスター内のカスタム ロード バランサーを利用することを前提としています。 この場合、ロード バランサーを使用しないワークロード クラスターがデプロイされます。
New-AksHciLoadBalancerSetting コマンドレットを使用してロード バランサー構成を作成し、
none
パラメーターでloadBalancerSku
を選択 します。$lbCfg=New-AksHciLoadBalancerSetting -name "myLb" -loadBalancerSku "none"
次のコマンドを使用して、ロード バランサー構成を指定せずにワークロード クラスターをデプロイします。
New-AksHciCluster -name "summertime" -nodePoolName mynodepool -nodeCount 2 -OSType linux -nodeVmSize Standard_A4_v2 -loadBalancerSettings $lbCfg
Get-AksHciCluster を使用して、クラスターが正常にデプロイされていること (コントロール プレーン ノードで
kube-vip
が実行され、API サーバー要求が到達可能な状態であること) を確認します。ロード バランサーを手動で構成します。
アップグレードを実行する場合、インストール時に定義したロード バランサーの構成 (loadBalancerSku
と count
) は、アップグレードの完了後も変わりません。 ただし、アップグレード中に loadBalancerSku
を更新する場合は、ワークロード クラスターを再デプロイする必要があります。 HAProxy ベースのロード バランサーを実行している既存のクラスターがある場合は、ワークロードの実行を続行することができ、アップグレードは正常に完了します。
重要
カスタム ロード バランサーの使用から既定のロード バランサーの使用に変更する場合は、新しいロード バランサーの構成でワークロード クラスターを再デプロイする必要があります。 既定のロードバランサーを構成する方法については、ロード バランサーの構成に関する記事を参照してください。
次のステップ
Kubernetes サービスについて学習するには、Kubernetes サービスのドキュメントを参照してください。