Partager via


Permettre aux conteneurs d’utiliser les fonctionnalités du réseau virtuel Azure

Pour apporter aux conteneurs l’ensemble complet de fonctionnalités réseau Azure, vous pouvez utiliser la même pile SDN (Software-Defined Networking) que celle qui alimente les machines virtuelles. Le plug-in CNI (Container Network Interface) du Réseau virtuel Azure s’installe sur une machine virtuelle Azure. Le plug-in affecte des adresses IP d’un réseau virtuel aux conteneurs initialisés dans la machine virtuelle. Il les attache au réseau virtuel et les connecte directement aux autres conteneurs et ressources du réseau virtuel.

En ce qui concerne la connectivité, ce plug-in ne s’appuie pas sur des réseaux superposés ou des itinéraires, et les performances qu’il fournit sont les mêmes que les machines virtuelles. Globalement, le plug-in offre les fonctionnalités suivantes :

  • Affecter une adresse IP de réseau virtuel à chaque pod pouvant se composer d’un ou de plusieurs conteneurs.
  • Connecter les pods à des réseaux virtuels appairés et localement via Azure ExpressRoute ou un réseau privé virtuel de site à site. Les pods sont également accessibles à partir de réseaux appairés et locaux.
  • Accéder aux services avec les pods. Par exemple, le Stockage Azure et Azure SQL Database sont protégés par des points de terminaison de service de réseau virtuel.
  • Appliquer les itinéraires et les groupes de sécurité réseau directement aux pods.
  • Placer les pods immédiatement derrière un équilibreur de charge interne ou public Azure, tout comme les machines virtuelles.
  • Affecter les pods à une adresse IP publique pour les rendre accessibles directement depuis Internet. Les pods peuvent également accéder eux-mêmes à internet.
  • Utiliser les pods pour travailler de façon fluide avec les ressources Kubernetes, telles que les services, les contrôleurs d’entrée et Kube DNS. Un service Kubernetes peut également être exposé en interne ou en externe via Azure Load Balancer.

Le diagramme suivant montre comment le plug-in fournit les fonctionnalités du Réseau virtuel Azure aux pods.

Diagramme montrant une vue d’ensemble du réseau de conteneurs.

Le plug-in prend en charge les plateformes Linux et Windows.

Connecter des pods à un réseau virtuel

Les pods sont initialisés sur une machine virtuelle qui fait partie d’un réseau virtuel. Un pool d’adresses IP est configuré pour les pods en tant qu’adresses secondaires sur l’interface réseau d’une machine virtuelle. L’interface Azure CNI configure la connectivité réseau de base des pods et gère l’utilisation des adresses IP dans le pool. Quand un pod se présente dans la machine virtuelle, l’interface Azure CNI affecte une adresse IP disponible à partir du pool et connecte le pod à un pont logiciel dans la machine virtuelle. À l’extinction du pod, l’adresse IP est restituée au pool. Le diagramme suivant montre comment les pods se connectent à un réseau virtuel.

Diagramme montrant les détails du réseau de conteneurs.

Accès à Internet

Pour permettre aux pods d’accéder à Internet, le plug-in configure des règles iptables pour traduire en adresse réseau (NAT) le trafic lié à Internet provenant des pods. L’adresse IP source du paquet est translatée vers l’adresse IP principale sur l’interface réseau de la machine virtuelle. Les machines virtuelles Windows traduisent automatiquement en adresses réseau sources le trafic destiné aux adresse IP situées en dehors du sous-réseau où se trouve la machine virtuelle. En règle générale, tout le trafic destiné à une adresse IP située en dehors de la plage IP du réseau virtuel est traduit.

limites

Le plug-in prend en charge jusqu’à 250 pods par machine virtuelle, et jusqu’à 16 000 pods au sein d’un réseau virtuel. Ces limites sont différentes pour l’environnement Azure Kubernetes Service (AKS).

Utiliser le plug-in

Vous pouvez utiliser le plug-in de différentes manières pour fournir une attache de réseau virtuel de base aux pods ou aux conteneurs Docker :

  • Azure Kubernetes Service : Utilisez le plug-in pour une intégration à AKS en sélectionnant l’option Mise en réseau avancée. Avec une mise en réseau avancée, vous pouvez déployer un cluster Kubernetes dans un réseau virtuel existant ou nouveau. Pour en savoir plus sur la mise en réseau avancée et les étapes pour la configurer, consultez Configuration réseau dans AKS.
  • Moteur AKS : Utilisez le moteur AKS afin de générer un modèle Azure Resource Manager pour le déploiement d’un cluster Kubernetes dans Azure. Pour obtenir des instructions détaillées, consultez Déployer le plug-in pour les clusters Kubernetes du moteur AKS.
  • Création de votre propre cluster Kubernetes dans Azure : Utilisez le plug-in afin d’avoir un réseau de base pour les pods dans les clusters Kubernetes que vous déployez vous-même, sans recourir à AKS ou à des outils tels que le moteur AKS. Dans ce cas, le plug-in est installé et activé sur chaque machine virtuelle d’un cluster. Pour obtenir des instructions détaillées, consultez Déployer le plug-in pour un cluster Kubernetes que vous déployez vous-même.
  • Attache de réseau virtuel pour les conteneurs Docker dans Azure : Utilisez le plug-in quand vous ne voulez pas créer de cluster Kubernetes, mais que vous voulez créer des conteneurs Docker avec une attache de réseau virtuel sur les machines virtuelles. Pour obtenir des instructions détaillées, consultez Déployer le plug-in pour Docker.