Concepts de réseau pour les applications dans AKS (Azure Kubernetes Service)

Dans une approche du développement d’applications axée sur les microservices basés sur des conteneurs, les composants d’application travaillent ensemble pour traiter leurs tâches. Kubernetes fournit diverses ressources permettant cette coopération :

  • Vous pouvez vous connecter aux applications et les exposer en interne ou en externe.
  • Vous pouvez créer des applications hautement disponibles en équilibrant la charge de vos applications.
  • Vous pouvez restreindre le flux du trafic vers ou entre les nœuds et les pods pour améliorer la sécurité.
  • Pour vos applications plus complexes, vous pouvez configurer le trafic d’entrée pour la terminaison SSL/TLS ou le routage de plusieurs composants.

Cet article présente les concepts fondamentaux qui fournissent la mise en réseau à vos applications dans AKS :

Principes de base des réseaux Kubernetes

Kubernetes utilise une couche de réseau virtuel pour gérer l’accès dans et entre vos applications ou leurs composants :

  • Nœuds Kubernetes et réseau virtuel : Les nœuds Kubernetes sont connectés à un réseau virtuel. Cette configuration permet aux pods (unités de déploiement de base dans Kubernetes) d’avoir une connectivité à la fois entrante et sortante.

  • Composant kube-proxy : kube-proxy s’exécute sur chaque nœud et il est chargé de fournir les fonctionnalités réseau nécessaires.

Fonctionnalités propres à Kubernetes :

  • Équilibreur de charge : Vous pouvez utiliser un équilibreur de charge pour distribuer uniformément le trafic réseau entre différentes ressources.
  • Contrôleurs d’entrée : Ils facilitent le routage de couche 7, qui est essentiel pour diriger le trafic d’application.
  • Contrôle de trafic sortant : Kubernetes vous permet de gérer et de contrôler le trafic sortant à partir de nœuds de cluster.
  • Stratégies réseau: Ces stratégies activent les mesures de sécurité et le filtrage du trafic réseau dans les pods.

Dans le contexte de la plateforme Azure :

  • Azure simplifie les réseaux virtuels pour les clusters AKS (Azure Kubernetes Service).
  • La création d’un équilibreur de charge Kubernetes sur Azure configure simultanément la ressource d’équilibreur de charge Azure correspondante.
  • Quand vous ouvrez des ports réseau sur les pods, Azure configure automatiquement les règles de groupe de sécurité réseau nécessaires.
  • Azure peut également gérer des configurations DNS externes pour le routage d’application HTTP quand de nouvelles routes d’entrée sont établies.

Réseaux virtuels Azure

Dans AKS, vous pouvez déployer un cluster qui utilise un des modèles de réseau suivants :

  • Modèle de réseau de superposition : le réseau de superposition est le modèle de réseau le plus couramment utilisé dans Kubernetes. Les pods reçoivent une adresse IP d’un routage CIDR privé et logiquement distinct du sous-réseau de réseau virtuel Azure où les nœuds AKS sont déployés. Ce modèle permet une scalabilité plus simple et améliorée par rapport au modèle de réseau plat.
  • Modèle de réseau plat : un modèle de réseau plat dans AKS attribue des adresses IP aux pods à partir d’un sous-réseau du même réseau virtuel Azure que les nœuds AKS. Le trafic sortant de vos clusters n’a pas de traduction SNAT et l’adresse IP du pod est directement exposée à la destination. Ce modèle peut être utile pour des scénarios comme l’exposition des adresses IP de pod à des services externes.

Pour plus d’informations sur les modèles de réseau dans AKS, consultez Réseau CNI dans AKS.

Contrôler le trafic sortant (sortant)

Les clusters AKS sont déployés sur un réseau virtuel et ont des dépendances sortantes sur des services en dehors de ce réseau virtuel. Ces dépendances sortantes sont presque entièrement définies avec des noms de domaine complets (FQDN). Par défaut, les clusters AKS disposent d’un accès Internet sortant illimité, ce qui permet aux nœuds et aux services que vous exécutez d’accéder aux ressources externes en fonction des besoins. Si vous le souhaitez, vous pouvez restreindre le trafic sortant.

Pour plus d’informations, consultez Contrôler le trafic de sortie pour les nœuds de cluster dans AKS.

Groupes de sécurité réseau

Un groupe de sécurité réseau filtre le trafic pour des machines virtuelles comme les nœuds AKS. Quand vous créez des services, tels qu’un LoadBalancer, la plateforme Azure configure automatiquement toutes les règles de groupe de sécurité réseau nécessaires.

Vous n’avez pas besoin de configurer manuellement des règles de groupe de sécurité réseau pour filtrer le trafic des pods dans un cluster AKS. Vous pouvez définir les ports et le transfert requis dans le cadre de vos manifestes de services Kubernetes et laisser la plateforme Azure créer ou mettre à jour les règles appropriées.

Vous pouvez également utiliser des stratégies réseau pour appliquer automatiquement des règles de filtrage de trafic aux pods.

Pour plus d’informations, consultez l’article Façon dont les groupes de sécurité réseau filtrent le trafic.

Stratégies réseau

Par défaut, tous les pods d’un cluster AKS peuvent envoyer et recevoir du trafic sans aucune limite. Pour une sécurité accrue, définissez des règles qui contrôlent le flux de trafic, par exemple :

  • Les applications back-end sont exposées uniquement aux services frontaux requis.
  • Les composants de base de données sont uniquement accessibles aux couches Application qui s’y connectent.

L’utilisation de stratégies réseau est une fonctionnalité Kubernetes disponible dans AKS qui vous permet de contrôler le flux de trafic entre les pods. Vous pouvez autoriser ou refuser le trafic vers le pod en fonction de paramètres tels que les étiquettes attribuées, l’espace de noms ou le port de trafic. Bien que les groupes de sécurité réseau soient mieux adaptés aux nœuds AKS, les stratégies réseau sont un moyen natif Cloud plus adapté pour contrôler le flux de trafic pour les pods. Les pods étant créés de façon dynamique dans un cluster AKS, les stratégies réseau nécessaires peuvent être appliquées automatiquement.

Pour plus d’informations, consultez Sécuriser le trafic entre les pods avec des stratégies réseau dans Azure Kubernetes Service (AKS).

Étapes suivantes

Pour bien démarrer avec les réseaux AKS, créez et configurez un cluster AKS avec vos propres plages d’adresses IP à l’aide de Superposition Azure CNI ou d’Azure CNI.

Pour connaître les meilleures pratiques associées, consultez Meilleures pratiques relatives à la connectivité réseau et à la sécurité dans AKS.

Pour plus d’informations sur les concepts fondamentaux de Kubernetes et d’AKS, consultez les articles suivants :