Erstellen eines MetalLB-Lastenausgleichs mithilfe von Azure Arc und der Azure CLI
Gilt für: Azure Stack HCI, Version 23H2
Der Standard Zweck eines Lastenausgleichs besteht darin, Datenverkehr auf mehrere Knoten in einem Kubernetes-Cluster zu verteilen. Dies kann dazu beitragen, Ausfallzeiten zu vermeiden und die Gesamtleistung von Anwendungen zu verbessern. AKS, das von Azure Arc aktiviert ist, unterstützt das Erstellen von MetalLB-Lastenausgleichs-instance in Ihrem Kubernetes-Cluster mithilfe der Arc Networking
k8s-Erweiterung.
Voraussetzungen
- Ein Kubernetes-Cluster mit mindestens einem Linux-Knoten. Sie können einen Kubernetes-Cluster in Azure Stack HCI 23H2 mithilfe der Azure CLI oder der Azure-Portal erstellen.
- Stellen Sie sicher, dass Sie über genügend IP-Adressen für den Lastenausgleich verfügen. Stellen Sie sicher, dass die für den Lastenausgleich reservierten IP-Adressen nicht mit den IP-Adressen in logischen Netzwerken und IP-Adressen der Steuerungsebene in Arc-VM in Konflikt geraten. Weitere Informationen zur IP-Adressplanung und zum Netzwerkbetrieb in Kubernetes finden Sie unter Netzwerkanforderungen für AKS in Azure Stack HCI 23H2.
- In dieser Anleitung wird davon ausgegangen, dass Sie verstehen, wie Metal LB funktioniert. Weitere Informationen finden Sie in der Übersicht für MetalLB in Arc Kubernetes-Clustern.
Installieren der Erweiterung für die Azure-Befehlszeilenschnittstelle
Führen Sie den folgenden Befehl aus, um die erforderliche Azure CLI-Erweiterung zu installieren:
az extension add -n k8s-runtime --upgrade
Aktivieren der Load Balancer Arc-Erweiterung
Konfigurieren Sie die folgenden Variablen, bevor Sie fortfahren:
Parameter | BESCHREIBUNG |
---|---|
$subId |
Azure-Abonnement-ID Ihres Kubernetes-Clusters. |
$rgName |
Azure-Ressourcengruppe für Ihren Kubernetes-Cluster. |
$clusterName |
Der Name Ihres AKS Arc-Clusters. |
Verwenden Sie den az k8s-runtime load-balancer enable
Befehl, um die Arc-Erweiterung zu installieren und den Ressourcenanbieter für Ihren Kubernetes-Cluster zu registrieren. Der --resource-uri
Parameter bezieht sich auf die Resource Manager-ID Ihres AKS Arc-Clusters.
az k8s-runtime load-balancer enable --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName
Bereitstellen des MetalLB-Lastenausgleichs in Ihrem Kubernetes-Cluster
Sie können jetzt einen Lastenausgleich für Ihren Kubernetes-Cluster remote erstellen, indem Sie den az k8s-runtime load-balancer create
Befehl ausführen. Dieser Befehl erstellt eine benutzerdefinierte Ressource IPAddressPool
im Namespace kube-system
.
Konfigurieren Sie die folgenden Variablen, bevor Sie fortfahren:
Parameter | BESCHREIBUNG |
---|---|
$lbName |
Der Name Ihres MetalLB-Lastenausgleichsmoduls instance. |
$advertiseMode |
Der Modus für Ihren MetalLB-Lastenausgleich. Unterstützte Werte sind ARP , BGP oder Both . |
$ipRange |
Der IP-Bereich für den MetalLB-Lastenausgleich in oder Both modusARP . |
Wenn der Ankündigungsmodus oder Both
istBGP
, wird auch eine benutzerdefinierte Ressource vom Typ BGPAdvertisement
erstellt. Wenn der Ankündigungsmodus oder Both
istARP
, wird auch eine benutzerdefinierte Ressource vom Typ L2Advertisement
erstellt:
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
Erstellen eines BGP-Peers für Ihren Kubernetes-Cluster
Erstellen Sie einen BGP-Peer für Ihren Kubernetes-Cluster remote, indem Sie den az k8s-runtime bgp-peer create
Befehl ausführen. Beachten Sie, dass der BGP-Peer für alle Lastenausgleichsmodule wirksam ist, die den Modus haben BGP
oder Both
ankündigen. Das Erstellen von BGP-Peers ist obligatorisch, wenn Sie den MetalLB-Lastenausgleich in oder Both
im BGP
Modus verwenden.
Konfigurieren Sie die folgenden Variablen, bevor Sie fortfahren:
Parameter | BESCHREIBUNG |
---|---|
$peerName |
Der Name Ihres BGP-Peers. |
$myASN |
AS-Nummer, die für das lokale Ende der Sitzung verwendet werden soll. |
$peerASN |
AS-Nummer, die vom Remoteende der Sitzung erwartet werden soll. |
$peerIP |
Adresse, die beim Einrichten der Sitzung gewählt werden soll. |
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
Nächste Schritte
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für