Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : AKS sur Azure Local
Le principal rôle d’un équilibreur de charge est de répartir le trafic entre plusieurs nœuds d’un cluster Kubernetes. Cela permet d’éviter les temps d’arrêt et d’améliorer les performances globales des applications. AKS activé par Azure Arc prend en charge la création d’une instance d’équilibreur de charge MetalLB sur votre cluster Kubernetes à l’aide d’une extension Arc.
Prerequisites
- Un cluster Kubernetes avec Azure Arc avec au moins un nœud Linux. Vous pouvez créer un cluster Kubernetes sur Azure Local à l’aide d’Azure CLI ou du portail Azure. L’AKS sur les clusters locaux d’Azure Arc est activé par défaut.
- Assurez-vous de disposer d’un nombre suffisant d’adresses IP pour l’équilibreur de charge. Pour AKS sur Azure Local, vérifiez que les adresses IP réservées à l’équilibreur de charge ne sont pas en conflit avec les adresses IP dans les réseaux logiques de machine virtuelle Arc et les adresses IP du plan de contrôle. Pour en savoir plus sur la planification des adresses IP et la mise en réseau dans Kubernetes, consultez Configuration réseau requise pour Kubernetes et Planification des adresses IP pour Kubernetes.
- Ce guide pratique suppose que vous comprenez le fonctionnement de MetalLB. Pour en savoir plus, consultez la rubrique Vue d’ensemble de MetalLB pour les clusters Kubernetes.
Installer l’extension Azure CLI
Exécutez la commande suivante pour installer l’extension Azure CLI requise :
az extension add -n k8s-runtime --upgrade
Activer l’extension Arc pour MetalLB
Avant de commencer, configurez les variables suivantes :
| Paramètre | Descriptif |
|---|---|
$subId |
ID de l’abonnement Azure de votre cluster Kubernetes. |
$rgName |
Groupe de ressources Azure de votre cluster Kubernetes. |
$clusterName |
Nom du cluster Kubernetes. |
Option 1 : Activer l’extension Arc pour MetalLB à l’aide de az k8s-runtime load-balancer enable
Pour activer l’extension Arc pour MetalLB avec la commande ci-dessous, vous devez disposer de l’autorisation Graph Application.Read.All. Vous pouvez vérifier si vous disposez de cette autorisation en vous connectant à votre abonnement Azure et en exécutant la commande suivante :
az ad sp list --filter "appId eq '087fca6e-4606-4d41-b3f6-5ebdf75b8b4c'" --output json
Si la commande échoue, contactez l’administrateur de votre locataire Azure pour obtenir le rôle Application.Read.All.
Si vous disposez de l’autorisation, vous pouvez activer l’extension Arc et enregistrer le fournisseur de ressources pour votre cluster Kubernetes avec la commande az k8s-runtime load-balancer enable. Le --resource-uri paramètre fait référence à l’ID resource manager de votre cluster Kubernetes :
az k8s-runtime load-balancer enable --resource-uri subscriptions/$subId/resourceGroups/$rgName/providers/Microsoft.Kubernetes/connectedClusters/$clusterName
Option 2 : Activer l’extension Arc pour MetalLB à l’aide de az k8s-extension add
Si vous ne disposez pas de l’autorisation Graph Application.Read.All, suivez ces étapes :
Inscrivez le fournisseur de ressources
Microsoft.KubernetesRuntime RP, si ce n’est pas déjà fait. Cette opération n’a besoin d’être réalisée qu’une seule fois par abonnement Azure. Vous pouvez également inscrire des fournisseurs de ressources via le portail Azure. Pour en savoir plus sur l’inscription des fournisseurs de ressources et les autorisations requises, consultez Inscription d’un fournisseur de ressources.az provider register -n Microsoft.KubernetesRuntimeVérifiez que le fournisseur de ressources est bien inscrit avec la commande ci-dessous.
az provider show -n Microsoft.KubernetesRuntime -o tableSortie attendue :
Namespace RegistrationPolicy RegistrationState --------------------------- -------------------- ------------------- Microsoft.KubernetesRuntime RegistrationRequired RegisteredPour installer l’extension Arc pour MetalLB, récupérez l’AppID du fournisseur de ressources de l’extension MetalLB, puis lancez la commande de création d’extension. Vous devez exécuter ces commandes une fois par cluster Kubernetes Arc.
Pour obtenir l’ID d’application de l’extension Arc, exécutez az ad sp list. Pour exécuter la commande suivante, vous devez être membre
userde votre locataire Azure. Pour en savoir plus sur l’appartenance des utilisateurs et des invités, consultez Autorisations d’utilisateur par défaut dans Microsoft Entra ID.$objID = az ad sp list --filter "appId eq '00001111-aaaa-2222-bbbb-3333cccc4444'" --query "[].id" --output tsvUne fois que vous avez le
objID, vous pouvez installer l’extension MetalLB Arc sur votre cluster Kubernetes. Pour exécuter la commande suivante, vous devez disposer du rôle contributeur d’extension Kubernetes .az k8s-extension create --cluster-name $clusterName -g $rgName --cluster-type connectedClusters --extension-type microsoft.arcnetworking --config k8sRuntimeFpaObjectId=$objID -n arcnetworking
Déployer un équilibreur de charge MetalLB sur votre cluster Kubernetes
Vous pouvez désormais créer un équilibreur de charge pour votre cluster Kubernetes à distance en exécutant la commande az k8s-runtime load-balancer create. Cette commande crée une ressource personnalisée de type IPAddressPool dans l’espace de noms kube-system.
Avant de commencer, configurez les variables suivantes :
| Paramètre | Descriptif |
|---|---|
$lbName |
Le nom de votre instance d’équilibreur de charge MetalLB. |
$advertiseMode |
Le mode de fonctionnement de votre équilibreur de charge MetalLB. Les valeurs prises en charge sont ARP, BGP ou Both. |
$ipRange |
La plage d’adresses IP pour l’équilibreur de charge MetalLB en mode ARP ou Both. |
Si le mode d’annonce est BGP ou Both, il crée également une ressource personnalisée de type BGPAdvertisement. Si le mode d’annonce 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 pair BGP pour votre cluster Kubernetes
Créez un pair BGP pour votre cluster Kubernetes à distance en exécutant la commande az k8s-runtime bgp-peer create. Notez que l’homologue BGP est efficace pour tous les équilibreurs de charge qui ont le mode d’annonce BGP ou Both. La création d’homologues BGP est obligatoire si vous utilisez l’équilibreur de charge MetalLB en mode BGP ou Both.
Avant de commencer, configurez les variables suivantes :
| Paramètre | Descriptif |
|---|---|
$peerName |
Nom de votre homologue BGP. |
$myASN |
Numéro AS à utiliser pour la fin locale de la session. |
$peerASN |
Numéro AS à attendre du côté distant 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