Partager via


Créer un équilibreur de charge MetalLB à l’aide d’Azure Arc et d’Azure CLI

S’applique à : Azure Stack HCI, version 23H2

L’objectif main d’un équilibreur de charge est de distribuer le trafic sur plusieurs nœuds dans un cluster Kubernetes. Cela peut aider à éviter les temps d’arrêt et à améliorer les performances globales des applications. AKS activé par Azure Arc prend en charge la création de instance d’équilibreur de charge MetalLB sur votre cluster Kubernetes à l’aide de l’extension Arc Networking k8s.

Prérequis

  • Un cluster Kubernetes avec au moins un nœud Linux. Vous pouvez créer un cluster Kubernetes sur Azure Stack HCI 23H2 à l’aide d’Azure CLI ou de l’Portail Azure.
  • Vérifiez que vous disposez de suffisamment d’adresses IP pour l’équilibreur de charge. Vérifiez que les adresses IP réservées à l’équilibreur de charge ne sont pas en conflit avec les adresses IP des réseaux logiques de machine virtuelle Arc et des adresses IP du plan de contrôle. Pour plus d’informations sur la planification des adresses IP et la mise en réseau dans Kubernetes, consultez Configuration réseau requise pour AKS sur Azure Stack HCI 23H2.
  • Ce guide pratique suppose que vous comprenez le fonctionnement de Metal LB. Pour plus d’informations, consultez la vue d’ensemble de MetalLB dans les clusters Arc Kubernetes.

Installer l’extension Azure CLI

Exécutez la commande suivante pour installer l’extension Azure CLI nécessaire :

az extension add -n k8s-runtime --upgrade

Activer l’extension Arc de l’équilibreur de charge

Configurez les variables suivantes avant de continuer :

Paramètre Description
$subId ID d’abonnement Azure de votre cluster Kubernetes.
$rgName Groupe de ressources Azure pour votre cluster Kubernetes.
$clusterName Nom de votre cluster AKS Arc.

Utilisez la az k8s-runtime load-balancer enable commande pour installer l’extension Arc et inscrire le fournisseur de ressources pour votre cluster Kubernetes. Le --resource-uri paramètre fait référence à l’ID resource manager de votre cluster AKS Arc.

az k8s-runtime load-balancer enable --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName

Déployer l’équilibreur de charge MetalLB sur votre cluster Kubernetes

Vous pouvez maintenant créer un équilibreur de charge pour votre cluster Kubernetes à distance en exécutant la az k8s-runtime load-balancer create commande . Cette commande crée une ressource personnalisée de type IPAddressPool dans l’espace de noms kube-system.

Configurez les variables suivantes avant de continuer :

Paramètre Description
$lbName Nom de votre équilibreur de charge MetalLB instance.
$advertiseMode Mode de votre équilibreur de charge MetalLB. Les valeurs prises en charge sont ARP, BGPou Both.
$ipRange Plage d’adresses IP pour l’équilibreur de charge MetalLB en ARP mode ou Both .

Si le mode de publicité est BGP ou Both, il crée également une ressource personnalisée de type BGPAdvertisement. Si le mode de publicité est ARP ou Both, il crée également une ressource personnalisée de type 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

Créer un homologue BGP pour votre cluster Kubernetes

Créez un homologue BGP pour votre cluster Kubernetes à distance en exécutant la az k8s-runtime bgp-peer create commande . Notez que l’homologue BGP est efficace pour tous les équilibreurs de charge qui ont ou Both publient BGP le mode. La création d’homologues BGP est obligatoire si vous utilisez l’équilibreur de charge MetalLB en BGP mode ou Both .

Configurez les variables suivantes avant de continuer :

Paramètre Description
$peerName Nom de votre homologue BGP.
$myASN Numéro AS à utiliser pour la fin locale de la session.
$peerASN Numéro AS à attendre de la fin distante de la session.
$peerIP Adresse à composer lors de l’établissement de la session.
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

Étapes suivantes

-Utiliser l’extension GitOps Flux v2 Arc pour déployer des applications sur votre cluster Kubernetes