Azure Arc と Azure portalを使用して MetalLB ロード バランサーを作成する

適用対象: Azure Stack HCI バージョン 23H2

ロード バランサーのメインの目的は、Kubernetes クラスター内の複数のノードにトラフィックを分散することです。 これにより、ダウンタイムを防ぎ、アプリケーションの全体的なパフォーマンスを向上させることができます。 Azure Arc で有効になっている AKS では、Arc Networking k8s-extension を使用した Kubernetes クラスターでの MetalLB ロード バランサー インスタンスの作成がサポートされています。

前提条件

  • 少なくとも 1 つの Linux ノードを持つ Kubernetes クラスター。 Azure CLI または Azure portalを使用して、Azure Stack HCI 23H2 に Kubernetes クラスターを作成できます。
  • ロード バランサーに十分な IP アドレスがあることを確認します。 ロード バランサー用に予約されている IP アドレスが、Arc VM 論理ネットワークおよびコントロール プレーン IP の IP アドレスと競合しないようにします。 Kubernetes での IP アドレスの計画とネットワークの詳細については、「 AKS on Azure Stack HCI 23H2 のネットワーク要件」を参照してください。
  • このハウツー ガイドでは、Metal LB のしくみを理解していることを前提としています。 詳細については、 Arc Kubernetes クラスターの MetalLB の概要に関するページを参照してください。

Azure Arc 拡張機能を使用して MetalLB ロード バランサーをデプロイする

警告

IP アドレスの競合チェックは現在サポートされていません。 ロード バランサーを作成するときは、このチェックを実行することをお勧めします。

Kubernetes クラスターを正常に作成したら、Azure portalの [ネットワーク] ブレードに移動し、[インストール] を選択します

ポータルの拡張機能のインストール画面を示すスクリーンショット。

拡張機能が正常にインストールされたら、ロード バランサー サービスを作成できます。 [ 追加] を 選択し、ロード バランサー名とその IP 範囲を入力します。 [サービス セレクター] フィールドは省略可能です。 [OK] をクリックします。

ポータルでのロード バランサーの作成を示すスクリーンショット。

  • IP 範囲は、環境に応じて使用可能な IP に設定する必要があります。 IP 範囲は CIDR 表記にする必要があります。たとえば、 192.168.50.51/28192.168.50.1-192.168.50.100 などです。 複数の IP 範囲はコンマで区切る必要があります。
  • アドバタイズ モードには、 ARPBGP、または 両方を指定できます。 BGP または両方を使用する場合は、BGP ピアを構成する必要があります。
  • サービス セレクターは 、ロード バランサーから IP を取得できるサービスのセットを制限します。 既定のオプション (null または空の文字列) は、ロード バランサーがすべてのサービスに適用されることを意味します。 セレクター は、キーと値のペアがコンマで区切られている a:b,c:d などのキーと値のペアの一覧の形式にする必要があります。

ロード バランサーが正常に作成されると、次のように一覧に表示されます。 プロビジョニングの状態は 、操作の結果を示します。

ポータルでのプロビジョニング状態を示すスクリーンショット。

リソースをクリーンアップする

リソースをクリーンするには、次の操作を行います。

  • いずれかのロード バランサーが不要になったら、ロード バランサーの行の先頭を選択し、[削除] を選択 します。 次に、 [はい] を選択します。
  • ロード バランサー サービスが不要になったら、既存のすべてのロード バランサーを削除し、[アンインストール] を選択 します。 [ はい] を 選択して拡張機能をアンインストールします。

次の手順

GitOps Flux v2 Arc 拡張機能を使用して Kubernetes クラスターにアプリケーションをデプロイする