AKS activé par la configuration réseau requise pour Azure Arc

S’applique à : Azure Stack HCI, version 23H2

Cet article présente les concepts de mise en réseau de base pour vos machines virtuelles et applications dans AKS activé par Azure Arc. L’article décrit également les prérequis réseau requis pour la création de clusters Kubernetes. Nous vous recommandons de travailler avec un administrateur réseau pour fournir et configurer les paramètres réseau requis pour déployer AKS activé par Arc.

Dans cet article conceptuel, les composants clés suivants sont présentés. Ces composants ont besoin d’une adresse IP statique pour que le cluster ET les applications AKS Arc créent et fonctionnent correctement :

  • Machines virtuelles de cluster AKS
  • ADRESSE IP du plan de contrôle AKS
  • Équilibreur de charge pour les applications conteneurisées

Mise en réseau pour les machines virtuelles de cluster AKS

Les nœuds Kubernetes sont déployés en tant que machines virtuelles spécialisées dans AKS activé par Arc. Ces machines virtuelles sont allouées à des adresses IP pour permettre la communication entre les nœuds Kubernetes. AKS Arc utilise des réseaux logiques Azure Stack HCI pour fournir des adresses IP et des réseaux pour les machines virtuelles sous-jacentes des clusters Kubernetes. Pour plus d’informations sur les réseaux logiques, consultez Réseaux logiques pour Azure Stack HCI. Vous devez planifier la réservation d’une adresse IP par machine virtuelle de nœud de cluster AKS dans votre environnement Azure Stack HCI.

Notes

L’adresse IP statique est le seul mode pris en charge pour l’attribution d’une adresse IP aux machines virtuelles AKS Arc. En effet, Kubernetes exige que l’adresse IP affectée à un nœud Kubernetes soit constante tout au long du cycle de vie du cluster Kubernetes.

Les paramètres suivants sont requis pour utiliser un réseau logique pour l’opération de création de cluster AKS Arc :

Paramètre de réseau logique Description Paramètre obligatoire pour le cluster AKS Arc
--address-prefixes AddressPrefix pour le réseau. Actuellement, un seul préfixe d’adresse est pris en charge. Utilisation : --address-prefixes "10.220.32.16/24". Pris en charge
--dns-servers Liste séparée par l’espace des adresses IP du serveur DNS. Utilisation : --dns-servers 10.220.32.16 10.220.32.17. Pris en charge
--gateway Passerelle. L’adresse IP de la passerelle doit se trouver dans l’étendue du préfixe d’adresse. Utilisation : --gateway 10.220.32.16. Pris en charge
--ip-allocation-method Méthode d’allocation d’adresses IP. Les valeurs prises en charge sont « Static ». Utilisation : --ip-allocation-method "Static". Pris en charge
--ip-pool-start Adresse IP de début de votre pool d’adresses IP. L’adresse doit être dans la plage du préfixe d’adresse. Utilisation : --ip-pool-start "10.220.32.18". Pris en charge
--ip-pool-end Adresse IP de fin de votre pool d’adresses IP. L’adresse doit être dans la plage du préfixe d’adresse. Utilisation : --ip-pool-end "10.220.32.38". Pris en charge
--vm-switch-name Nom du commutateur de machine virtuelle. Utilisation : --vm-switch-name "vm-switch-01". Pris en charge

ADRESSE IP du plan de contrôle

Kubernetes utilise un plan de contrôle pour s’assurer que chaque composant du cluster Kubernetes est conservé dans l’état souhaité. Le plan de contrôle gère et gère également les nœuds Worker qui contiennent les applications conteneurisées. AKS activé par Arc déploie l’équilibreur de charge KubeVIP pour s’assurer que l’adresse IP du serveur d’API du plan de contrôle Kubernetes est disponible à tout moment. Cette instance KubeVIP nécessite une seule « adresse IP de plan de contrôle » immuable pour fonctionner correctement.

Notes

L’adresse IP du plan de contrôle est un paramètre obligatoire pour créer un cluster Kubernetes. Vous devez vous assurer que l’adresse IP du plan de contrôle d’un cluster Kubernetes ne chevauche rien d’autre, notamment les réseaux logiques de machine virtuelle Arc, les adresses IP réseau d’infrastructure, les équilibreurs de charge, etc. L’adresse IP du plan de contrôle doit également se trouver dans l’étendue du préfixe d’adresse du réseau logique, mais en dehors du pool d’adresses IP. En effet, le pool d’adresses IP est utilisé uniquement pour les machines virtuelles, et si vous choisissez une adresse IP dans le pool d’adresses IP pour le plan de contrôle, un conflit d’adresses IP peut se produire. Les adresses IP qui se chevauchent peuvent entraîner des échecs inattendus pour le cluster AKS et tout autre endroit où l’adresse IP est utilisée. Vous devez planifier la réservation d’une adresse IP par cluster Kubernetes dans votre environnement.

Adresses IP de l’équilibreur de charge pour les applications conteneurisées

L’objectif main d’un équilibreur de charge est de distribuer le trafic sur plusieurs nœuds dans un cluster Kubernetes. Cet équilibrage de charge peut aider à éviter les temps d’arrêt et à améliorer les performances globales des applications. AKS prend en charge les options suivantes pour déployer un équilibreur de charge pour votre cluster Kubernetes :

Que vous choisissiez l’extension MetalLB Arc ou que vous apportiez votre propre équilibreur de charge, vous devez fournir un ensemble d’adresses IP au service d’équilibreur de charge. Les options suivantes s’offrent à vous :

  • Fournissez des adresses IP pour vos services à partir du même sous-réseau que les machines virtuelles AKS Arc.
  • Utilisez un réseau et une liste d’adresses IP différents si votre application a besoin d’un équilibrage de charge externe.

Quelle que soit l’option choisie, vous devez vous assurer que les adresses IP allouées à l’équilibreur de charge ne sont pas en conflit avec les adresses IP du réseau logique ou du plan de contrôle pour vos clusters Kubernetes. Les adresses IP conflictuelles peuvent entraîner des échecs imprévus dans votre déploiement et vos applications AKS.

Planification d’adresses IP simples pour les clusters et applications Kubernetes

Dans la procédure pas à pas du scénario suivant, vous réservez des adresses IP à partir d’un réseau unique pour vos clusters et services Kubernetes. Il s’agit du scénario le plus simple et le plus simple pour l’attribution d’adresses IP.

Configuration requise pour l’adresse IP Nombre minimal d’adresses IP Comment et où effectuer cette réservation
Adresses IP de machine virtuelle AKS Arc Réservez une adresse IP pour chaque nœud Worker de votre cluster Kubernetes. Par exemple, si vous souhaitez créer 3 pools de nœuds avec 3 nœuds dans chaque pool de nœuds, vous devez avoir 9 adresses IP dans votre pool d’adresses IP. Réservez des adresses IP pour les machines virtuelles AKS Arc via des pools d’adresses IP dans le réseau logique de machine virtuelle Arc.
Adresses IP de mise à niveau de la version AKS Arc K8s Étant donné qu’AKS Arc effectue des mises à niveau propagées, réservez une adresse IP pour chaque cluster AKS Arc pour les opérations de mise à niveau de version kubernetes. Réservez des adresses IP pour l’opération de mise à niveau de version K8s via des pools d’adresses IP dans le réseau logique de machine virtuelle Arc.
ADRESSE IP du plan de contrôle Réservez une adresse IP pour chaque cluster Kubernetes de votre environnement. Par exemple, si vous souhaitez créer 5 clusters au total, réservez 5 adresses IP, une pour chaque cluster Kubernetes. Réservez des adresses IP pour les adresses IP du plan de contrôle dans le même sous-réseau que le réseau logique de machine virtuelle Arc, mais en dehors du pool d’adresses IP spécifié.
Adresses IP de l’équilibreur de charge Le nombre d’adresses IP réservées dépend du modèle de déploiement de votre application. Comme point de départ, vous pouvez réserver une adresse IP pour chaque service Kubernetes. Réservez des adresses IP pour les adresses IP du plan de contrôle dans le même sous-réseau que le réseau logique de machine virtuelle Arc, mais en dehors du pool d’adresses IP spécifié.

Exemple de procédure pas à pas pour la réservation d’adresses IP pour les clusters et applications Kubernetes

Jane est une administrateur informatique qui commence avec AKS activé par Azure Arc. Elle souhaite déployer deux clusters Kubernetes : le cluster Kubernetes A et le cluster Kubernetes B sur son cluster Azure Stack HCI. Elle souhaite également exécuter une application de vote sur le cluster A. Cette application a trois instances de l’interface utilisateur frontale s’exécutant sur les deux clusters et une instance de la base de données back-end. Tous ses clusters et services AKS s’exécutent dans un seul réseau, avec un seul sous-réseau.

  • Le cluster Kubernetes A a 3 nœuds de plan de contrôle et 5 nœuds Worker.
  • Le cluster Kubernetes B a 1 nœud de plan de contrôle et 3 nœuds Worker.
  • 3 instances de l’interface utilisateur frontale (port 443).
  • 1 instance de la base de données principale (port 80).

Sur la base du tableau précédent, elle doit réserver un total de 19 adresses IP dans son sous-réseau :

  • 8 adresses IP pour les machines virtuelles de nœud AKS Arc dans le cluster A (une adresse IP par machine virtuelle de nœud K8s).
  • 4 adresses IP pour les machines virtuelles de nœud AKS Arc dans le cluster B (une adresse IP par machine virtuelle de nœud K8s).
  • 2 adresses IP pour l’exécution de l’opération de mise à niveau d’AKS Arc (une adresse IP par cluster AKS Arc).
  • 2 adresses IP pour le plan de contrôle AKS Arc (une adresse IP par cluster AKS Arc)
  • 3 adresses IP pour le service Kubernetes (une adresse IP par instance de l’interface utilisateur frontale, car elles utilisent toutes le même port. La base de données back-end peut utiliser l’une des trois adresses IP tant qu’elle utilise un port différent).

En suivant cet exemple et en l’ajoutant au tableau suivant, vous obtenez :

Paramètre Nombre d’adresses IP Comment et où effectuer cette réservation
Mise à niveau des machines virtuelles AKS Arc et de la version K8s Réserver 14 adresses IP Effectuez cette réservation via des pools d’adresses IP dans le réseau logique Azure Stack HCI.
Adresse IP du plan de contrôle Réserver 2 adresses IP, une pour le cluster AKS Arc Utilisez le controlPlaneIP paramètre pour transmettre l’adresse IP pour l’adresse IP du plan de contrôle. Vérifiez que cette adresse IP se trouve dans le même sous-réseau que le réseau logique Arc, mais en dehors du pool d’adresses IP défini dans le réseau logique Arc.
Adresses IP de l’équilibreur de charge 3 adresse IP pour les services Kubernetes, pour l’application de vote de Jane. Ces adresses IP sont utilisées lorsque vous installez un équilibreur de charge sur le cluster A. Vous pouvez utiliser l’extension MetalLB Arc ou apporter votre propre équilibreur de charge tiers. Vérifiez que cette adresse IP se trouve dans le même sous-réseau que le réseau logique Arc, mais en dehors du pool d’adresses IP défini dans le réseau logique de machine virtuelle Arc.

Paramètres du proxy

Les paramètres de proxy dans AKS sont hérités du système d’infrastructure sous-jacent. La fonctionnalité permettant de définir des paramètres de proxy individuels pour les clusters Kubernetes et de modifier les paramètres de proxy n’est pas encore prise en charge.

Port réseau & configuration requise entre VLAN

Lorsque vous déployez Azure Stack HCI, vous allouez un bloc contigu d’au moins six adresses IP statiques sur le sous-réseau de votre réseau de gestion, en omettant les adresses déjà utilisées par les serveurs physiques. Ces adresses IP sont utilisées par Azure Stack HCI et l’infrastructure interne (Pont de ressources Arc) pour la gestion des machines virtuelles Arc et AKS Arc. Si votre réseau de gestion qui fournit des adresses IP aux services Azure Stack HCI liés à Arc Resource Bridge se trouve sur un VLAN différent du réseau logique que vous avez utilisé pour créer des clusters AKS, vous devez vous assurer que les ports suivants sont ouverts pour créer et exploiter correctement un cluster AKS.

Port de destination Destination Source Description Remarques sur la mise en réseau entre VLAN
22 Réseau logique utilisé pour les machines virtuelles AKS Arc Adresses IP dans le réseau de gestion Obligatoire pour collecter les journaux pour la résolution des problèmes. Si vous utilisez des réseaux locaux virtuels distincts, les adresses IP du réseau de gestion utilisés pour Azure Stack HCI et Arc Resource Bridge doivent accéder aux machines virtuelles du cluster AKS Arc sur ce port.
6443 Réseau logique utilisé pour les machines virtuelles AKS Arc Adresses IP dans le réseau de gestion Obligatoire pour communiquer avec les API Kubernetes. Si vous utilisez des réseaux locaux virtuels distincts, les adresses IP du réseau de gestion utilisés pour Azure Stack HCI et Arc Resource Bridge doivent accéder aux machines virtuelles du cluster AKS Arc sur ce port.
55000 Adresses IP dans le réseau de gestion Réseau logique utilisé pour les machines virtuelles AKS Arc Serveur gRPC de l’agent cloud Si vous utilisez des réseaux locaux virtuels distincts, les machines virtuelles AKS Arc doivent accéder aux adresses IP du réseau de gestion utilisés pour l’adresse IP de l’agent cloud et l’adresse IP du cluster sur ce port.
65 000 Adresses IP dans le réseau de gestion Réseau logique utilisé pour les machines virtuelles AKS Arc Authentification gRPC de l’agent cloud Si vous utilisez des réseaux locaux virtuels distincts, les machines virtuelles AKS Arc doivent accéder aux adresses IP du réseau de gestion utilisés pour l’adresse IP de l’agent cloud et l’adresse IP du cluster sur ce port.

Exceptions d’URL de pare-feu

Pour plus d’informations sur la liste d’autorisation de pare-feu/d’URL de proxy Azure Arc, consultez configuration réseau requise pour le pont de ressources Azure Arc et Configuration réseau requise pour Azure Stack HCI 23H2.

Pour le déploiement et le fonctionnement des clusters Kubernetes, les URL suivantes doivent être accessibles à partir de tous les nœuds physiques et machines virtuelles AKS Arc dans le déploiement. Assurez-vous que ces URL sont autorisées dans la configuration de votre pare-feu :

URL Port Service Notes
https://mcr.microsoft.com 443 Registre de conteneurs Microsoft Utilisé pour les artefacts Microsoft officiels tels que les images conteneur.
https://*.his.arc.azure.com 443 Service d’identité d’Azure Arc Utilisé pour le contrôle d’identité et d’accès.
https://*.dp.kubernetesconfiguration.azure.com 443 Kubernetes Utilisé pour la configuration d’Azure Arc.
https://*.servicebus.windows.net 443 Connexion au cluster Permet de se connecter de manière sécurisée aux clusters Kubernetes avec Azure Arc sans nécessiter d’activer aucun port entrant sur le pare-feu.
https://guestnotificationservice.azure.com 443 Service de notification Utilisé pour les opérations de notification d’invité.
https://*.dp.prod.appliances.azure.com 443 Service de plan de données Utilisé pour les opérations de plan de données pour resource bridge (Appliance).
*.data.mcr.microsoft.com
azurearcfork8s.azurecr.io
linuxgeneva-microsoft.azurecr.io
pipelineagent.azurecr.io
ecpacr.azurecr.io
443 Télécharger l’agent Utilisé pour télécharger des images et des agents.
*.prod.microsoftmetrics.com
*.prod.hot.ingestion.msftcloudes.com
dc.services.visualstudio.com
*.prod.warm.ingest.monitor.core.windows.net
gcs.prod.monitoring.core.windows.net
443 Métriques et supervision de l’intégrité Utilisé pour les métriques et la surveillance du trafic de télémétrie.
*.blob.core.windows.net
*.dl.delivery.mp.microsoft.com
*.do.dsp.mp.microsoft.com
443 TCP Permet de télécharger des images de pont de ressources (Appliance).
https://azurearcfork8sdev.azurecr.io 443 Kubernetes Utilisé pour télécharger des images conteneur Azure Arc pour Kubernetes.
https://adhs.events.data.microsoft.com 443 Télémétrie ADHS est un service de télémétrie s’exécutant à l’intérieur du système d’exploitation mariner/de l’appliance. Utilisée régulièrement pour envoyer les données de diagnostic requises à Microsoft à partir des nœuds du plan de contrôle. Utilisé lorsque la télémétrie est sortante de mariner, c’est-à-dire n’importe quel plan de contrôle Kubernetes.
https://v20.events.data.microsoft.com 443 Télémétrie Utilisé régulièrement pour envoyer les données de diagnostic requises à Microsoft à partir de l’hôte Windows Server.
gcr.io 443 Registre de conteneurs Google Utilisé pour les artefacts officiels Kubernetes tels que les images de base de conteneur.
pypi.org 443 Package Python Valider les versions kubernetes et Python.
*.pypi.org 443 Package Python Valider les versions kubernetes et Python.
https://hybridaks.azurecr.io 443 Image conteneur Obligatoire pour accéder à l’image de l’opérateur HybridAKS.
aka.ms 443 az extensions Obligatoire pour télécharger les extensions Azure CLI telles qu’aksarc et connectedk8s.
*.login.microsoft.com 443 Azure Requis pour extraire et mettre à jour des jetons Azure Resource Manager.
sts.windows.net 443 Azure Arc Pour cluster Connect et scénario basé sur l’emplacement personnalisé.
hybridaksstorage.z13.web.core.windows.net 443 Azure Stack HCI Site web statique AKSHCI hébergé dans Stockage Azure.
raw.githubusercontent.com 443 GitHub Utilisé pour GitHub.
www.microsoft.com 80 Site web officiel de Microsoft. Site web officiel de Microsoft.
*.prod.do.dsp.mp.microsoft.com 443 Microsoft Update Téléchargement d’image de pont de ressources (Appliance).
files.pythonhosted.org 443 Package Python Package Python.

Étapes suivantes

Create réseaux logiques pour les clusters Kubernetes sur Azure Stack HCI 23H2