Azure Arc と Azure CLI を使用して MetalLB ロード バランサーを作成する
適用対象: Azure Stack HCI バージョン 23H2
ロード バランサーのメイン目的は、Kubernetes クラスター内の複数のノードにトラフィックを分散することです。 これにより、ダウンタイムを回避し、アプリケーションの全体的なパフォーマンスを向上させることができます。 Azure Arc で有効になっている AKS では、k8s 拡張機能を使用して Kubernetes クラスターに MetalLB ロード バランサー インスタンスを Arc Networking
作成できます。
前提条件
- 少なくとも 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 CLI 拡張機能をインストールする
次のコマンドを実行して、必要な Azure CLI 拡張機能をインストールします。
az extension add -n k8s-runtime --upgrade
ロード バランサーの Arc 拡張機能を有効にする
続行する前に、次の変数を構成します。
パラメーター | 説明 |
---|---|
$subId |
Kubernetes クラスターの Azure サブスクリプション ID。 |
$rgName |
Kubernetes クラスターの Azure リソース グループ。 |
$clusterName |
AKS Arc クラスターの名前。 |
コマンドを az k8s-runtime load-balancer enable
使用して Arc 拡張機能をインストールし、Kubernetes クラスターのリソース プロバイダーを登録します。 パラメーターは --resource-uri
、AKS Arc クラスターのリソース マネージャー ID を参照します。
az k8s-runtime load-balancer enable --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName
Kubernetes クラスターに MetalLB ロード バランサーをデプロイする
コマンドを実行して、Kubernetes クラスターのロード バランサーを az k8s-runtime load-balancer create
リモートで作成できるようになりました。 このコマンドは、 名前空間 に種類 IPAddressPool
のカスタム リソースを作成します kube-system
。
続行する前に、次の変数を構成します。
パラメーター | 説明 |
---|---|
$lbName |
MetalLB ロード バランサー インスタンスの名前。 |
$advertiseMode |
MetalLB ロード バランサーのモード。 サポートされている値は、 ARP 、 BGP 、または Both です。 |
$ipRange |
または Both モードの MetalLB ロード バランサーの ARP IP 範囲。 |
アドバタイズ モードが または Both
の場合、BGP
種類のカスタム リソースも作成されますBGPAdvertisement
。 アドバタイズ モードが または Both
の場合はARP
、 型のカスタム リソースも作成されますL2Advertisement
。
az k8s-runtime load-balancer create --load-balancer-name $lbName --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName --addresses $ipRange --advertise-mode $advertiseMode
Kubernetes クラスターの BGP ピアを作成する
コマンドを実行して、Kubernetes クラスターの BGP ピアを az k8s-runtime bgp-peer create
リモートで作成します。 BGP ピアは、モードまたはBoth
アドバタイズ モードを持つBGP
すべてのロード バランサーに対して有効であることに注意してください。 または Both
モードで MetalLB ロード バランサーを使用している場合は、BGP ピアのBGP
作成が必須です。
続行する前に、次の変数を構成します。
パラメーター | 説明 |
---|---|
$peerName |
BGP ピアの名前。 |
$myASN |
セッションのローカル終了に使用する AS 番号。 |
$peerASN |
セッションのリモート終了から想定される AS 番号。 |
$peerIP |
セッションの確立時にダイヤルするアドレス。 |
az k8s-runtime bgp-peer create --bgp-peer-name $peerName --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName --my-asn $myASN --peer-asn $peerASN --peer-address $peerIP
次の手順
-GitOps Flux v2 Arc 拡張機能を使用して Kubernetes クラスターにアプリケーションをデプロイする
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示