次の方法で共有


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 を指定してサービスをデプロイした場合、ロード バランサーを構成するまで、そのサービスにも到達できなくなります。

この構成では、クラスター内のカスタム ロード バランサーを利用することを前提としています。 この場合、ロード バランサーを使用しないワークロード クラスターがデプロイされます。

  1. New-AksHciLoadBalancerSetting コマンドレットを使用してロード バランサー構成を作成し、none パラメーターで loadBalancerSku を選択 します。

    $lbCfg=New-AksHciLoadBalancerSetting -name "myLb" -loadBalancerSku "none" 
    
  2. 次のコマンドを使用して、ロード バランサー構成を指定せずにワークロード クラスターをデプロイします。

    New-AksHciCluster -name "summertime" -nodePoolName mynodepool -nodeCount 2 -OSType linux -nodeVmSize Standard_A4_v2 -loadBalancerSettings $lbCfg 
    
  3. Get-AksHciCluster を使用して、クラスターが正常にデプロイされていること (コントロール プレーン ノードで kube-vip が実行され、API サーバー要求が到達可能な状態であること) を確認します。

  4. ロード バランサーを手動で構成します。

アップグレードを実行する場合、インストール時に定義したロード バランサーの構成 (loadBalancerSkucount) は、アップグレードの完了後も変わりません。 ただし、アップグレード中に loadBalancerSku を更新する場合は、ワークロード クラスターを再デプロイする必要があります。 HAProxy ベースのロード バランサーを実行している既存のクラスターがある場合は、ワークロードの実行を続行することができ、アップグレードは正常に完了します。

重要

カスタム ロード バランサーの使用から既定のロード バランサーの使用に変更する場合は、新しいロード バランサーの構成でワークロード クラスターを再デプロイする必要があります。 既定のロードバランサーを構成する方法については、ロード バランサーの構成に関する記事を参照してください。

次のステップ

Kubernetes サービスについて学習するには、Kubernetes サービスのドキュメントを参照してください。