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/28 や 192.168.50.1-192.168.50.100 などです。 複数の IP 範囲はコンマで区切る必要があります。
- アドバタイズ モードには、 ARP、 BGP、または 両方を指定できます。 BGP または両方を使用する場合は、BGP ピアを構成する必要があります。
- サービス セレクターは 、ロード バランサーから IP を取得できるサービスのセットを制限します。 既定のオプション (null または空の文字列) は、ロード バランサーがすべてのサービスに適用されることを意味します。 セレクター は、キーと値のペアがコンマで区切られている a:b,c:d などのキーと値のペアの一覧の形式にする必要があります。
ロード バランサーが正常に作成されると、次のように一覧に表示されます。 プロビジョニングの状態は 、操作の結果を示します。
リソースをクリーンアップする
リソースをクリーンするには、次の操作を行います。
- いずれかのロード バランサーが不要になったら、ロード バランサーの行の先頭を選択し、[削除] を選択 します。 次に、 [はい] を選択します。
- ロード バランサー サービスが不要になったら、既存のすべてのロード バランサーを削除し、[アンインストール] を選択 します。 [ はい] を 選択して拡張機能をアンインストールします。
次の手順
GitOps Flux v2 Arc 拡張機能を使用して Kubernetes クラスターにアプリケーションをデプロイする