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és par Azure Arc. L’article décrit également les conditions préalables requises pour la création de clusters Kubernetes. Nous vous recommandons de travailler avec un administrateur réseau pour fournir et configurer les paramètres de mise en réseau requis pour déployer AKS activé par Arc.

Dans cet article conceptuel, les composants clés suivants sont introduits. 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ées par Arc. Ces machines virtuelles sont allouées aux 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éserve d’une adresse IP par machine virtuelle de nœud de cluster AKS dans votre environnement Azure Stack HCI.

Remarque

L’adresse IP statique est le seul mode pris en charge pour l’attribution d’une adresse IP aux machines virtuelles AKS Arc. Cela est dû au fait que 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 réseaux virtuels définis par logiciel et les fonctionnalités associées au SDN ne sont actuellement pas pris en charge sur AKS sur Azure Stack HCI 23H2.

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 réseau logique Description Paramètre requis pour le cluster AKS Arc
--address-prefixes AddressPrefix pour le réseau. Actuellement, seul 1 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 comprise 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 comprise 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 garantir que chaque composant du cluster Kubernetes est conservé dans l’état souhaité. Le plan de contrôle gère également et gère les nœuds Worker qui contiennent les applications conteneurisées. AKS activé par Arc déploie l’équilibreur de charge KubeVIP pour vous 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 du plan de contrôle » immuable pour fonctionner correctement.

Remarque

L’adresse IP du plan de contrôle est un paramètre requis 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. Cela est dû au fait que le pool d’adresses IP est utilisé uniquement pour les machines virtuelles, et si vous choisissez une adresse IP à partir du 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 défaillances inattendues pour le cluster AKS et tout autre endroit où l’adresse IP est utilisée. Vous devez planifier la réserve d’une adresse IP par cluster Kubernetes dans votre environnement.

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

L’objectif principal d’un équilibreur de charge est de distribuer le trafic entre plusieurs nœuds dans un cluster Kubernetes. Cet équilibrage de charge peut aider à prévenir 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 apportez 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 autre réseau et une liste d’adresses IP si votre application a besoin d’un équilibrage de charge externe.

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

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

Dans le scénario suivant, vous réservez des adresses IP à partir d’un seul réseau 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.

Exigence d’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 version AKS Arc K8s Étant donné que 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 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 dans 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 de votre modèle de déploiement d’application. En guise de 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 un administrateur informatique qui commence simplement par 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 back-end (port 80).

En fonction 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 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 tous le même port. La base de données back-end peut utiliser l’une des trois adresses IP tant qu’elle utilise un autre port).

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 des K8s Réserver 14 adresses IP Effectuez cette réservation via des pools 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 passer 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 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.

Configuration requise pour le port réseau et les réseaux locaux virtuels

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, 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 (Arc Resource Bridge) 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 réseau local virtuel 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 Notes de mise en réseau entre réseaux locaux virtuels
22 Réseau logique utilisé pour les machines virtuelles AKS Arc Adresses IP dans le réseau de gestion Requis 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 de 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 Requis 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 de 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 dans le réseau de gestion utilisé 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 dans le réseau de gestion utilisé 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 verte du pare-feu/proxy Azure Arc, consultez la configuration réseau requise pour le pont des ressources Azure Arc et la configuration réseau requise pour Azure Stack HCI 23H2.

Remarque

Si vous déployez une version antérieure d’Azure Stack HCI , telle que 2402 et antérieure, vous devez également autoriser les URL gcr.io et storage.googleapis.com . Ces URL ont été supprimées de la dernière version d’AKS Arc.

URL Port Service Notes
https://mcr.microsoft.com
*.data.mcr.microsoft.com
azurearcfork8s.azurecr.io
linuxgeneva-microsoft.azurecr.io
pipelineagent.azurecr.io
ecpacr.azurecr.io
https://azurearcfork8sdev.azurecr.io
https://hybridaks.azurecr.io
aszk8snetworking.azurecr.io
443 AKS Arc Utilisé pour les artefacts Microsoft officiels tels que les images conteneur.
docker.io 443 AKS Arc Utilisé pour les artefacts officiels Kubernetes, tels que les images de base de conteneur.
hybridaksstorage.z13.web.core.windows.net 443 AKS Arc Site web statique AKSHCI hébergé dans Stockage Azure.
*.blob.core.windows.net
*.dl.delivery.mp.microsoft.com
*.do.dsp.mp.microsoft.com
443 AKS Arc Utilisé pour le téléchargement et la mise à jour de l’image VHD AKS Arc.
*.prod.do.dsp.mp.microsoft.com 443 AKS Arc Utilisé pour le téléchargement et la mise à jour de l’image VHD AKS Arc.
*.login.microsoft.com 443 Azure Requis pour récupérer et mettre à jour des jetons Azure Resource Manager pour la connexion à Azure.
https://*.his.arc.azure.com 443 K8s avec Azure Arc Utilisé pour le contrôle d’identité et d’accès des agents Arc.
https://*.dp.kubernetesconfiguration.azure.com 443 K8s avec Azure Arc Utilisé pour la configuration d’Azure Arc.
https://*.servicebus.windows.net 443 K8s avec Azure Arc Utilisé pour se connecter en toute sécurité aux clusters Kubernetes avec Azure Arc sans nécessiter d’activation d’un port entrant sur le pare-feu.
https://guestnotificationservice.azure.com 443 K8s avec Azure Arc Utilisé pour les opérations de notification d’invité.
sts.windows.net 443 K8s avec Azure Arc Pour le scénario basé sur cluster Connect et l’emplacement personnalisé.
https://*.dp.prod.appliances.azure.com 443 Pont de ressources Arc Utilisé pour les opérations de plan de données pour resource bridge (appliance).
*.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
https://adhs.events.data.microsoft.com
https://v20.events.data.microsoft.com
443 Métriques et supervision de l’intégrité Utilisé pour les métriques et la surveillance du trafic de télémétrie.
pypi.org
*.pypi.org
files.pythonhosted.org
443 Az CLI Utilisé pour télécharger les extensions Az CLI et Az CLI.
aka.ms 443 Azure Stack HCI Requis pour les téléchargements liés à Azure Stack HCI.
raw.githubusercontent.com 443 GitHub Utilisé pour GitHub.
www.microsoft.com 80 Site web officiel Microsoft. Site web officiel Microsoft.

Étapes suivantes

Créer des réseaux logiques pour les clusters Kubernetes sur Azure Stack HCI 23H2