Partager via


Planification d’adresses IP pour vos clusters Azure Kubernetes Service (AKS)

Cet article fournit une aide sur la planification d’adresses IP pour les clusters Azure Kubernetes Service (AKS).

Pour obtenir des conseils spécifiques sur la planification d’adresses IP pour les options CNI individuelles, consultez la section étapes suivantes pour obtenir des liens vers la documentation du plug-in.

Dimensionnement des sous-réseaux

Votre sous-réseau de réseau virtuel Azure doit être suffisamment grand pour héberger votre cluster, ce qui dépend de votre utilisation d’un réseau de superposition ou d’un réseau plat.

Réseaux de superposition

Avec les réseaux de superposition, comme Azure CNI Overlay, votre sous-réseau doit être suffisamment grand pour affecter des adresses IP à vos nœuds. Les pods sont des adresses IP attribuées depuis une plage CIDR privée distincte, et ne nécessitent pas d’adresses IP de réseau virtuel. Le sous-réseau de réseau virtuel que vous utilisez pour votre cluster peut être plus petit qu’avec des réseaux plats.

Il est important de vous assurer que vous allouez suffisamment d’espace dans votre plage CIDR privée pour que vos pods tiennent compte de la mise à l’échelle. Lorsque vous planifiez vos tailles de plage d’adresses IP, vous devez calculer votre nombre maximal de pods. Chaque nœud de votre cluster reçoit un sous-réseau /24 (256 adresses IP) pour les pods. Vous devez planifier votre sous-réseau de réseau de superposition pour prendre en charge le nombre maximal de nœuds que vous prévoyez d’exécuter.

Réseaux plats

Les réseaux plats, comme le Sous-réseau de pods Azure CNI, nécessitent un sous-réseau suffisamment grand pour prendre en charge à la fois les nœuds et les pods. Les nœuds et les pods recevant des adresses IP depuis votre réseau virtuel, vous devez planifier le nombre maximal de nœuds et de pods que vous prévoyez d’exécuter. Le Sous-réseau de pods Azure CNI utilise un sous-réseau pour vos nœuds et un sous-réseau distinct pour vos pods. Vous devez donc planifier les deux.

Dimensionnement d’adresses IP

Considérations relatives à la mise à niveau et à la mise à l’échelle

Lorsque vous planifiez les adresses IP pour votre cluster AKS, vous devez prendre en compte le nombre d’adresses IP requises pour les opérations de mise à niveau et de mise à l’échelle. Si vous définissez la plage d’adresses IP pour ne prendre en charge qu’un nombre fixe de nœuds, vous ne pourrez ni mettre votre cluster à niveau, ni le mettre à l’échelle.

Lorsque vous mettez à niveau votre cluster AKS, un nouveau nœud est déployé dans le cluster. Les services et charges de travail commencent à s’exécuter sur le nouveau nœud, et le nœud plus ancien est supprimé du cluster. Ce processus de mise à niveau propagée nécessite la disponibilité d’un minimum d’adresses IP ou de bloc supplémentaires. Votre nombre de nœuds est alors n + 1, où n est le nombre de nœuds dans votre cluster.

Lorsque vous mettez à l’échelle un cluster AKS, un nouveau nœud est déployé dans le cluster. Les services et charges de travail commencent à s’exécuter sur le nouveau nœud. Votre plage d’adresses IP doit prendre en compte la manière dont vous voulez effectuer un scale-up du nombre de nœuds et de pods que votre cluster peut prendre en charge. Un nœud supplémentaire pour les opérations de mise à niveau doit également être inclus. Le nombre de nœuds est alors n + number-of-additional-scaled-nodes-you-anticipate + max surge.

Si vous utilisez le Sous-réseau de pods Azure CNI, et que vous prévoyez que vos nœuds exécutent le nombre maximal de pods et que vous détruisez et déployez régulièrement des pods, vous devez également envisager des adresses IP supplémentaires par nœud. Quelques secondes de latence peuvent être nécessaires pour supprimer un service et libérer son adresse IP pour qu’un nouveau service soit déployé et acquérir l’adresse. Les adresses IP supplémentaires prennent cette possibilité en compte.

Le plan d’adressage IP pour un cluster AKS se compose d’un réseau virtuel, d’au moins un sous-réseau pour les nœuds et les pods, et d’une plage d’adresses de service Kubernetes.

Ressource Azure Plage d’adresses Limites et dimensionnement
Réseau virtuel Azure Max size /8. Limite de 65 536 adresses configurées. Consultez Allocation de bloc statique du Sous-réseau de pods Azure CNI pour connaître les exceptions Le chevauchement des espaces d’adressage au sein de votre réseau peut entraîner des problèmes.
Sous-réseau Doit être suffisamment grand pour prendre en charge les nœuds, les pods et toutes les ressources Kubernetes et Azure dans votre cluster. Par exemple, si vous déployez un Azure Load Balancer interne, ses adresses IP front-end sont allouées depuis le sous-réseau du cluster, et non des adresses IP publiques. La taille du sous-réseau doit également tenir compte des opérations de mise à niveau et des besoins de mise à l’échelle futurs.

Utilisez l’équation suivante pour calculer la taille minimale du sous-réseau, incluant un nœud supplémentaire pour les opérations de mise à niveau : (number of nodes + 1) + ((number of nodes + 1) * maximum pods per node that you configure)

Exemple pour un cluster à 50 nœuds : (51) + (51 * 30 (default)) = 1,581 (/21 ou plus)

Exemple pour un cluster à 50 nœuds, en se préparant à effectuer un scale-up de 10 nœuds supplémentaires : (61) + (61 * 30 (default)) = 1,891 (/21 ou plus)

Si vous ne spécifiez pas un nombre maximal de pods par nœud lorsque vous créez votre cluster, le nombre maximal de pods par nœud est défini à 30. Le nombre minimal d’adresses IP requises est basé sur cette valeur. Si vous calculez vos besoins en adresses IP minimales sur une valeur maximale différente, consultez Pods maximal par nœud pour définir cette valeur lorsque vous déployez votre cluster.

Plage d’adresses du service Kubernetes Tout élément réseau sur ce réseau virtuel ou connecté à celui-ci ne doit pas utiliser cette plage. Le CIDR de l’adresse de service doit être inférieur à /12. Vous pouvez réutiliser cette plage sur différents clusters AKS.
Adresse IP du service DNS Kubernetes Cette adresse IP est dans la plage d’adresses du service Kubernetes utilisée par la découverte de service de cluster. N’utilisez pas la première adresse IP de votre plage d’adresses. La première adresse de votre plage de sous-réseaux est utilisée pour l’adresse kubernetes.default.svc.cluster.local.

Nombre maximal de pods par nœud

Le nombre maximal de pods par nœud dans un cluster AKS est de 250. Le nombre maximal par défaut de pods par nœud varie selon qu’il s’agit d’un réseau kubenet ou Azure CNI, mais aussi en fonction de la méthode de déploiement du cluster.

CNI Pods max par défaut Configurable au moment du déploiement
Superposition Azure CNI 250 Oui (jusqu’à 250)
Sous-réseau de pods Azure CNI 110 Oui (jusqu’à 250)
Azure CNI (hérité) 30 Oui (jusqu’à 250)
Kubenet 110 Oui (jusqu’à 250)

Configurer le nombre de pods maximum par nœud pour vos clusters

Vous pouvez configurer le nombre maximal de pods par nœud au moment du déploiement du cluster ou lorsque vous ajoutez de nouveaux pools de nœuds. Vous pouvez définir le nombre maximal de pods par valeur de nœud jusqu’à 250.

Une valeur minimale pour le nombre maximal de pods par nœud est appliquée afin de garantir l’espace des blocs système critiques pour l’intégrité du cluster. La valeur minimale qui peut être définie pour le nombre maximal de pods par nœud est égale à 10 si, et seulement si, la configuration de chaque pool de nœuds a un espace pour un minimum de 30 pods. Par exemple, la définition du nombre maximal de pods par nœud sur la valeur minimale de 10 nécessite que chaque pool de nœuds inclue un minimum de trois nœuds. Cette exigence s’applique également à chaque pool de nœuds créé, de sorte que, si la valeur 10 est définie comme le nombre maximal de pods par nœud, chaque pool de nœuds ajouté doit inclure au moins trois nœuds.

Mise en réseau Minimum Maximale
Azure CNI 10 250
Kubenet 10 250

Remarque

La valeur minimale dans le tableau précédent est strictement appliquée par le service AKS. Vous ne pouvez pas définir une valeur de maxPods qui soit inférieure au minimum indiqué, car cela pourrait empêcher le cluster de démarrer.

Nouveaux clusters

Vous pouvez définir le nombre maximal de pods par nœud lorsque vous créez un cluster en utilisant l’une des méthodes suivantes :

  • Azure CLI : spécifiez l’argument --max-pods lorsque vous déployez un cluster avec la commande az aks create.
  • Modèle Azure Resource Manager : spécifiez la propriété maxPods dans l’objet [ManagedClusterAgentPoolProfile] lorsque vous déployez un cluster avec un modèle Azure Resource Manager.
  • Portail Azure : modifiez le champ Max pods per node dans les paramètres du pool de nœuds lors de la création d’un cluster ou de l’ajout d’un nouveau pool de nœuds.

Clusters existants

Vous pouvez définir le nombre maximal de pods par nœud lorsque vous créez un nouveau pool de nœuds. Si vous devez augmenter le paramètre maxPods sur un cluster existant, ajoutez un nouveau pool de nœuds avec le nouveau nombre maxPods souhaité. Après avoir migré vos pods vers le nouveau pool, supprimez le pool plus ancien du nœud.

Étapes suivantes