Partage via


Entrée dans Azure Kubernetes Service (AKS)

L’entrée dans AKS est une ressource Kubernetes qui gère l’accès au trafic de type HTTP externe aux services au sein d’un cluster. Une entrée AKS peut fournir des services tels que l’équilibrage de charge, l’arrêt SSL et l’hébergement virtuel basé sur des noms. Pour plus d’informations sur l’entrée Kubernetes, consultez la documentation sur l’entrée Kubernetes.

Contrôleurs d’entrée

Lors de la gestion du trafic d’application, les contrôleurs d’entrée fournissent des fonctionnalités avancées en fonctionnant au niveau de la couche 7. Ils peuvent router le trafic HTTP vers différentes applications en fonction de l’URL entrante, ce qui permet d’obtenir des règles de distribution de trafic plus intelligentes et flexibles. Par exemple, un contrôleur d’entrée peut diriger le trafic vers différents microservices en fonction du chemin d’URL, ce qui améliore l’efficacité et l’organisation de vos services.

En revanche, un service de type LoadBalancer, lorsqu’il est créé, configure une ressource d’équilibreur de charge Azure sous-jacente. Cet équilibreur de charge fonctionne au niveau de la couche 4, en distribuant le trafic aux pods de votre service sur un port spécifié. Toutefois, les services de couche 4 ne connaissent pas les applications réelles et ne peuvent pas implémenter ces types de règles de routage complexes.

Comprendre la distinction entre ces deux approches vous permet de sélectionner l’outil approprié pour vos besoins de gestion du trafic.

Diagramme montrant le flux de trafic d’entrée dans un cluster AKS

Comparer les options d’entrée

Le tableau suivant répertorie les différences de fonctionnalités entre les différentes options de contrôleur d’entrée :

Fonctionnalité Module complémentaire de routage d’applications Application Gateway pour les conteneurs Azure Service Mesh/maillage de services Istio
Contrôleur d’entrée/passerelle Contrôleur d’entrée NGINX Passerelle Azure Application Gateway pour les conteneurs Passerelle d’entrée Istio
API API d’entrée API Entrée et API Passerelle API d'entrée Istio
Hébergement Dans le cluster Hébergé par Azure Dans le cluster
Mise à l'échelle Mise à l’échelle automatique Mise à l’échelle automatique Mise à l’échelle automatique
Équilibrage de charge Interne/Externe Externe Interne/Externe
Arrêt SSL Dans le cluster Oui : Déchargement et SSL E2E Dans le cluster
mTLS S/O Oui vers le back-end S/O
Adresse IP statique S/O FQDN S/O
Certificats SSL stockés dans Azure Key Vault Oui Oui S/O
Intégration d’Azure DNS pour la gestion des zones DNS Oui Oui S/O

Le tableau suivant répertorie les différents scénarios dans lesquels vous êtes susceptible d’utiliser chaque contrôleur d’entrée :

Option d’entrée Quand utiliser
NGINX managé – Module complémentaire de routage d’applications • Contrôleurs d’entrée NGINX personnalisables, évolutifs et hébergés dans le cluster. •
Capacités de base d’équilibrage de charge et de routage.
• Configuration d’équilibreur de charge interne et externe.
• Configuration d’adresse IP statique.
• Intégration à Azure Key Vault pour la gestion des certificats.
• Intégration aux zones Azure DNS pour la gestion des systèmes DNS publics et privés.
• Prend en charge l’API Entrée.
Passerelle d’application pour conteneurs • Passerelle d’entrée hébergée par Azure. •
Stratégies de déploiement flexible gérées par le contrôleur, ou apportez votre propre Passerelle d’application pour conteneurs. •
Fonctionnalités avancées de gestion du trafic, telles que les nouvelles tentatives automatiques, la résilience des zones de disponibilité, l’authentification mutuelle (mTLS) auprès de la cible back-end, le fractionnement du trafic / tourniquet pondéré, et la mise à l’échelle automatique.
• Intégration à Azure Key Vault pour la gestion des certificats.
• Intégration aux zones Azure DNS pour la gestion des systèmes DNS publics et privés.
• Prise en charge des API Entrée et Passerelle.
Passerelle d’entrée Istio • Basé sur Envoy, lors de l’utilisation avec Istio pour un maillage de services. •
Fonctionnalités avancées de gestion du trafic, telles que la limitation de débit et la rupture de circuit.
• Prise en charge de mTLS

Remarque

L'API de passerelle pour le trafic entrant Istio n'est pas encore prise en charge pour le module complémentaire Istio, mais est actuellement en cours de développement actif.

Créer une ressource d’entrée

Le module complémentaire de routage d’application est la méthode recommandée pour configurer un contrôleur d’entrée dans AKS. Le module complémentaire de routage d’applications est un contrôleur d’entrée complètement managé pour Azure Kubernetes Service (AKS) qui fournit les fonctionnalités suivantes :

  • Configuration facile des contrôleurs NGINX Ingress managés basés sur le contrôleur d’entrée NGINX Kubernetes.

  • Intégration à Azure DNS pour la gestion des zones publiques et privées.

  • Arrêt SSL avec des certificats stockés dans Azure Key Vault

Pour plus d’informations sur le module complémentaire de routage d’application, consultez Entrée MANAGED NGINX avec le module complémentaire de routage d’application.

Préservation de l’adresse IP source du client

Configurez votre contrôleur d’entrée pour qu’il conserve l’adresse IP source de client dans les requêtes adressées aux conteneurs de votre cluster AKS. Lorsque votre contrôleur d’entrée achemine la requête d’un client vers un conteneur de votre cluster AKS, l’adresse IP source originale de cette requête n’est pas disponible pour le conteneur cible. Lorsque vous activez la conservation de l’adresse IP source de client, l’adresse IP source du client est disponible dans l’en-tête de requête sous X-Forwarded-For.

Si vous utilisez la conservation de l’adresse IP source du client sur votre contrôleur d’entrée, vous ne pouvez pas utiliser le protocole TLS direct. La conservation de l’adresse IP source de client et le protocole TLS direct peuvent être utilisés avec d’autres services, tels que le type LoadBalancer.

Pour en savoir plus sur la préservation de l’adresse IP source cliente, consultez Fonctionnement de la préservation de l’adresse IP source cliente pour les services LoadBalancer dans AKS.