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.
Azure Load Balancer est sur la couche 4 (L4) du modèle OSI (Open Systems Interconnection) qui prend en charge les scénarios entrants et sortants. Il distribue les flux entrants arrivant sur le serveur front-end de l’équilibreur de charge sur des instances du pool de back-ends.
Intégré à AKS, un équilibreur de charge public remplit deux fonctions :
- Fournissez des connexions sortantes aux nœuds du cluster à l’intérieur du réseau virtuel AKS en traduisant l’adresse IP privée en une adresse IP publique faisant partie de son pool sortant.
- Fournissez l’accès aux applications via des services Kubernetes de type
LoadBalancer, ce qui vous permet de mettre facilement à l’échelle vos applications et de créer des services hautement disponibles.
Cet article traite de l’intégration à un équilibreur de charge public sur AKS. Pour l’intégration à un équilibreur de charge interne, consultez Utiliser un équilibreur de charge interne dans AKS.
Prerequisites
- AKS prend en charge la référence SKU standard Azure Load Balancer, qui est utilisée par défaut lorsque vous créez un cluster AKS. La référence SKU Standard vous donne accès à des fonctionnalités telles qu’un pool principal plus grand, plusieurs pools de nœuds, Zones de disponibilité et est sécurisé par défaut. La référence SKU de base a été retirée le 30 septembre 2025 et AKS ne la prend plus en charge. Si vous avez un cluster AKS existant qui utilise le SKU Basic, consultez Passer de l’équilibreur de charge Basic sur AKS. Pour plus d’informations sur les références SKU Load Balancer, consultez Azure Load Balancer comparaison des références SKU.
- Pour obtenir une liste complète des annotations prises en charge pour les services Kubernetes avec le type
LoadBalancer, consultez Annotations LoadBalancer. - Cet article part du principe que vous disposez d’un cluster AKS avec la référence SKU Azure Load Balancer Standard. Si vous avez besoin d’un cluster AKS, vous pouvez en créer un à l’aide d’Azure CLI, d’Azure PowerShell ou du portail Azure.
- Vous avez besoin d’installer
kubectlet de configurer pour vous connecter à votre cluster AKS. Pour installerkubectl, téléchargez vos informations d’identification de cluster et vérifiez la connexion, consultez Se connecter au cluster.
Important
Si vous préférez utiliser votre propre passerelle, pare-feu ou proxy pour fournir une connexion sortante, vous pouvez ignorer la création du pool sortant de l’équilibreur de charge et de l’adresse IP frontale respective en utilisant un type de sortie UserDefinedRouting (UDR). Le type de sortie définit la méthode de sortie d’un cluster et correspond par défaut au typeLoadBalancer.
Limitations
Les limitations suivantes s’appliquent lorsque vous créez et gérez des clusters AKS prenant un charge un équilibreur de charge avec la référence SKU Standard :
AKS gère le cycle de vie et les opérations des nœuds de l’agent. La modification des ressources IaaS associées aux nœuds de l’agent n’est pas prise en charge. Un exemple d’opération non prise en charge est d’apporter des modifications manuelles au groupe de ressources de l’équilibreur de charge.
Au moins une adresse IP publique ou un préfixe IP sont requis pour autoriser le trafic sortant du cluster AKS. L’adresse IP publique et le préfixe IP sont nécessaires pour maintenir la connectivité entre le plan de contrôle et les nœuds d’agent ainsi que pour assurer la compatibilité avec les versions précédentes d’AKS. Vous disposez des options suivantes pour spécifier des adresses IP publiques ou des préfixes IP avec un équilibreur de charge SKU Standard :
- Fournir vos propres adresses IP publiques.
- Fournir vos propres préfixes IP publics.
- Spécifier un nombre de 1 à 100 pour autoriser le cluster AKS à créer ce nombre d’adresses IP publiques à référence SKU Standard dans le même groupe de ressources que le cluster AKS. Ce groupe de ressources est généralement nommé avec
MC_au début. AKS attribue l’adresse IP publique pour l’équilibreur de charge de référence SKU Standard. Par défaut, une adresse IP publique est automatiquement créée dans le même groupe de ressources que le cluster AKS si aucune adresse IP publique, aucun préfixe IP public ou aucun nombre d’adresses IP ne sont spécifiés. Vous devez également autoriser des adresses publiques et éviter de créer des stratégies Azure interdisant la création d’adresses IP.
Une adresse IP publique créée par AKS ne peut pas être réutilisée en tant qu’adresse IP publique (BYO) personnalisée. Vous devez créer et gérer toutes les adresses IP personnalisées.
Vous ne pouvez pas modifier la référence SKU de l’équilibreur de charge en modifiant directement la ressource d’équilibreur de charge gérée par AKS. Pour migrer un cluster AKS existant de la référence SKU de base retirée vers la référence SKU Standard , utilisez le processus de mise à niveau AKS pris en charge. La migration provoque un temps d’arrêt et ne peut pas être restaurée une fois qu’elle a commencé.
Les Load Balancers à référence SKU Standard prennent uniquement en charge les adresses IP à référence SKU Standard.
Le service Private Link n’est pas pris en charge lorsque le type de pool principal de l’équilibreur de charge est défini
nodeIPsur .
Créer un service d’équilibreur de charge dans AKS
Une fois que vous avez créé un cluster AKS avec le type de sortie LoadBalancer (par défaut), votre cluster est prêt à utiliser l’équilibreur de charge pour exposer les services.
Vérifiez que votre cluster a au moins un pod en cours d’exécution et prêt avec l’étiquette
app: public-app. Le manifeste de service à l’étape suivante sélectionne les pods avec cette étiquette, mais ne crée pas de déploiement.kubectl get pods -l app=public-appCréez un manifeste de service nommé
public-svc.yaml, qui crée un service public de typeLoadBalancer.apiVersion: v1 kind: Service metadata: name: public-svc spec: type: LoadBalancer ports: - port: 80 selector: app: public-app
Spécifier l’adresse IP de l’équilibreur de charge
Si vous souhaitez utiliser une adresse IP spécifique avec l’équilibreur de charge, vous avez deux options pour spécifier l’adresse IP :
-
Définir des annotations de service (recommandé) : permet
service.beta.kubernetes.io/azure-pip-namede spécifier une ressource IP publique existante par nom. Cette annotation est la solution la plus efficace et vous aide à éviter un éventuel ralentissement. Vous pouvez également utiliserservice.beta.kubernetes.io/azure-load-balancer-ipv4pour une adresse IPv4 etservice.beta.kubernetes.io/azure-load-balancer-ipv6pour une adresse IPv6. Pour connaître les besoins en matière d’adresse IP publique, de groupe de ressources et d’identité, consultez Utiliser une adresse IP publique statique avec l’équilibreur de charge AKS. -
Ajoutez la propriété LoadBalancerIP au manifeste YAML de l’équilibreur de charge : ajoutez la
Service.Spec.LoadBalancerIPpropriété au manifeste YAML de l’équilibreur de charge. Ce champ est déconseillé après Kubernetes en amont et ne prend pas en charge la double pile. L’utilisation actuelle reste la même et les services existants sont censés fonctionner sans modification.
Déployer le manifeste du service d’équilibreur de charge
Déployez le manifeste de service public avec la commande
kubectl applyet spécifiez le nom de votre manifeste YAML.kubectl apply -f public-svc.yamlAzure Load Balancer est configuré avec une nouvelle adresse IP publique placée au premier plan du nouveau service. Étant donné qu’Azure Load Balancer peut avoir plusieurs adresses IP frontales, chaque nouveau service que vous déployez obtient une nouvelle adresse IP frontale dédiée et accessible de manière unique.
Vérifiez que votre service est créé et que l’équilibreur de charge est configuré à l’aide de la
kubectl get servicecommande.kubectl get service public-svcLorsque vous affichez les détails du service, l’adresse IP publique créée pour ce service sur l’équilibreur de charge est affichée dans la colonne EXTERNAL-IP de la sortie. Le passage de l’adresse IP de l’état <en attente> à l’état d’adresse IP publique effective peut prendre une ou deux minutes. L’exemple de sortie suivant illustre la création réussie du service :
NAMESPACE NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE default public-svc LoadBalancer 10.0.39.110 203.0.113.187 80:32068/TCP 52sObtenez des informations plus détaillées sur votre service à l’aide de la
kubectl describe servicecommande.kubectl describe service public-svcL’exemple de sortie suivant est une version condensée de la sortie après l’exécution de
kubectl describe service. Entrée de l’équilibreur de charge affiche l’adresse IP externe exposée par votre service. Adresse IP affiche les adresses internes.Name: public-svc Namespace: default Labels: <none> Annotations: <none> Selector: app=public-app ... IP: 10.0.39.110 ... LoadBalancer Ingress: 203.0.113.187 ... TargetPort: 80/TCP NodePort: 32068/TCP ... Session Affinity: None External Traffic Policy: Cluster ...