Aidez à améliorer cette page
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Pour contribuer à ce guide de l'utilisateur, cliquez sur le GitHub lien Modifier cette page sur qui se trouve dans le volet droit de chaque page.
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Amazon EC2 propose une large sélection de types d'instances pour les nœuds de travail. Chaque type d'instance offre des capacités de calcul, de mémoire, de stockage et de réseau différentes. Chaque instance est également regroupée dans une famille d'instances en fonction de ces capacités. Pour obtenir une liste, consultez la section Types d'instances disponibles dans le guide de EC2 l'utilisateur Amazon. Amazon EKS publie plusieurs variantes d'Amazon EC2 AMIs pour permettre le support. Pour vous assurer que le type d'instance que vous sélectionnez est compatible avec Amazon EKS, tenez compte des critères suivants.
-
Tous les Amazon EKS AMIs ne prennent actuellement pas en charge les
mac
famillesg5g
et. -
Arm et Amazon EKS non accéléré AMIs ne prennent pas en charge les
g3
,g4
inf
, etp
les familles. -
Amazon EKS accéléré AMIs ne prend pas en charge les
a
c
,hpc
,m
, ett
les familles. -
Pour les instances basées sur ARM, Amazon Linux 2023 (AL2023) ne prend en charge que les types d'instances qui utilisent des processeurs Graviton2 ou version ultérieure. AL2023 ne prend pas en charge les
A1
instances.
Lorsque vous choisissez entre les types d'instances pris en charge par Amazon EKS, tenez compte des fonctionnalités suivantes de chaque type.
- Nombre d'instances dans un groupe de nœuds
-
En général, il est préférable d'utiliser des instances moins nombreuses et plus volumineuses, en particulier si vous avez un grand nombre de daemonsets. Chaque instance nécessitant des appels API vers le serveur d'API, plus le nombre d'instances est élevé, plus la charge sur le serveur d'API est importante.
- Système d’exploitation
-
Examinez les types d'instances pris en charge pour Linux, Windows et Bottlerocket
. Avant de créer des instances Windows, consultez Déployer des nœuds Windows sur des clusters EKS. - Architecture matérielle
-
Avez-vous besoin de x86 ou d'Arm ? Avant de déployer des instances Arm, consultez Arm Amazon Linux optimisé pour Amazon EKS AMIs. Avez-vous besoin d'instances basées sur le système Nitro (Linux ou Windows) ou dotées de fonctionnalités accélérées ? Si vous avez besoin de fonctionnalités accélérées, vous ne pouvez utiliser Linux qu'avec Amazon EKS.
- Nombre maximum de pods
-
Étant donné que chaque pod se voit attribuer sa propre adresse IP, le nombre d'adresses IP prises en charge par un type d'instance est un facteur déterminant pour déterminer le nombre de pods qui peuvent s'exécuter sur l'instance. Pour déterminer manuellement le nombre de pods pris en charge par un type d'instance, consultezNombre maximum de pods recommandé par Amazon EKS pour chaque type d' EC2 instance Amazon.
Note
Si vous utilisez une AMI Amazon Linux 2 optimisée pour Amazon EKS,
v20220406
ou une version plus récente, vous pouvez utiliser un nouveau type d'instance sans passer à la dernière AMI. Pour ceux-ci AMIs, l'AMI calcule automatiquement lamax-pods
valeur nécessaire si elle n'est pas répertoriée dans le eni-max-podsfichier .txt.Les types d'instance actuellement en prévisualisation peuvent ne pas être pris en charge par Amazon EKS par défaut. Les valeurs pour max-pods
pour de tels types doivent encore être ajoutées àeni-max-pods.txt
dans notre AMI.AWS Les types d'instances Nitro System
prennent éventuellement en charge un plus grand nombre d'adresses IP que les types d'instances autres que Nitro System. Cependant, les adresses IP attribuées à une instance ne sont pas toutes accessibles aux Pods. Pour attribuer un nombre significativement plus élevé d'adresses IP à vos instances, la version 1.9.0
ou ultérieure du module complémentaire Amazon VPC CNI doit être installée dans votre cluster et configurée de manière appropriée. Pour de plus amples informations, veuillez consulter Attribuez davantage d'adresses IP aux nœuds Amazon EKS avec des préfixes. Pour attribuer le plus grand nombre d'adresses IP à vos instances, vous devez avoir installé la version1.10.1
ou une version ultérieure du module complémentaire Amazon VPC CNI dans votre cluster et déployer le cluster avec la familleIPv6
. - Famille IP
-
Vous pouvez utiliser n'importe quel type d'instance pris en charge lorsque vous utilisez la
IPv4
famille d'un cluster, ce qui permet à votre cluster d'attribuer desIPv4
adresses privées à vos pods et services. Mais si vous souhaitez utiliser la familleIPv6
pour votre cluster, alors vous devez utiliser les types d'instance AWS Nitro Systemou les types d'instance matériel nu. Seul IPv4
est pris en charge pour les instances Windows. Votre cluster doit utiliser la version1.10.1
ou une version ultérieure du module complémentaire Amazon VPC CNI. Pour plus d'informations sur l'utilisation deIPv6
, consultez En savoir plus sur IPv6 les adresses des clusters, des pods et des services. - Version du module complémentaire Amazon VPC CNI que vous utilisez
-
La dernière version du plug-in CNI Amazon VPC pour Kubernetes
prend en charge ces types d'instance . Il peut être nécessaire de mettre à jour la version de votre module complémentaire CNI Amazon VPC pour bénéficier des derniers types d'instance pris en charge. Pour de plus amples informations, veuillez consulter Attribuer IPs à des pods avec l'Amazon VPC CNI. La dernière version prend en charge les dernières fonctions pour une utilisation avec Amazon EKS. Les versions antérieures ne prennent pas en charge toutes les fonctionnalités. Vous pouvez afficher les fonctions prises en charge par les différentes versions dans Changelog sur GitHub. - AWS Région dans laquelle vous créez vos nœuds
-
Tous les types d'instances ne sont pas disponibles dans toutes les AWS régions.
- Si vous utilisez des groupes de sécurité pour les pods
-
Si vous utilisez des groupes de sécurité pour Pods, seuls des types d'instances spécifiques sont pris en charge. Pour de plus amples informations, veuillez consulter Attribuer des groupes de sécurité à des pods individuels.
Nombre maximum de pods recommandé par Amazon EKS pour chaque type d' EC2 instance Amazon
Étant donné que chaque pod se voit attribuer sa propre adresse IP, le nombre d'adresses IP prises en charge par un type d'instance est un facteur déterminant pour déterminer le nombre de pods qui peuvent s'exécuter sur l'instance. Amazon EKS fournit un script que vous pouvez télécharger et exécuter pour déterminer le nombre maximal de pods recommandé par Amazon EKS pour chaque type d'instance. Le script utilise les attributs matériels de chaque instance et les options de configuration pour déterminer le nombre maximum de pods. Vous pouvez utiliser le numéro renvoyé lors de ces étapes pour activer des fonctionnalités telles que l'attribution d'adresses IP à des pods à partir d'un sous-réseau différent de celui de l'instance et l'augmentation significative du nombre d'adresses IP pour votre instance. Si vous utilisez un groupe de nœuds géré avec plusieurs types d'instances, utilisez une valeur qui fonctionne pour tous les types d'instances.
-
Téléchargez un script que vous pouvez utiliser pour calculer le nombre maximum de pods pour chaque type d'instance.
curl -O https://raw.githubusercontent.com/awslabs/amazon-eks-ami/master/templates/al2/runtime/max-pods-calculator.sh
-
Marquez le script comme exécutable sur votre ordinateur.
chmod +x max-pods-calculator.sh
-
Exécutez le script en remplaçant
m5.large
par le type d'instance que vous prévoyez de déployer et1.9.0-eksbuild.1
par votre version du module complémentaire CNI Amazon VPC. Pour déterminer la version de votre module complémentaire, consultez les procédures de mise à jour dans Assign IPs to Pods with the Amazon VPC CNI../max-pods-calculator.sh --instance-type m5.large --cni-version 1.9.0-eksbuild.1
L'exemple qui suit illustre un résultat.
29
Vous pouvez ajouter les options suivantes au script pour connaître le nombre maximum de pods pris en charge lors de l'utilisation des fonctionnalités facultatives.
-
--cni-custom-networking-enabled
— Utilisez cette option lorsque vous souhaitez attribuer des adresses IP provenant d'un sous-réseau différent de celui de votre instance. Pour de plus amples informations, veuillez consulter Déployez des pods dans des sous-réseaux alternatifs avec un réseau personnalisé. L'ajout de cette option au script précédent avec les mêmes valeurs d'exemple donne20
. -
--cni-prefix-delegation-enabled
: utilisez cette option lorsque vous souhaitez attribuer beaucoup plus d'adresses IP à chaque interface réseau Elastic. Cette fonctionnalité nécessite une instance Amazon Linux qui fonctionne sur le système Nitro et la version1.9.0
ou ultérieure du module complémentaire CNI Amazon VPC. Pour de plus amples informations, veuillez consulter Attribuez davantage d'adresses IP aux nœuds Amazon EKS avec des préfixes. L'ajout de cette option au script précédent avec les mêmes valeurs d'exemple donne110
.
-
Vous pouvez également exécuter le script avec l'option --help
permettant de voir toutes les options disponibles.
Note
Le script de calcul Max Pods limite la valeur de retour en 110
fonction des seuils d'évolutivité de Kubernetes et des250
, un chiffre basé sur les tests internes de l'équipe d'évolutivité Amazon EKS. Pour plus d'informations, consultez l'article de blog Plugin CNI Amazon VPC augmente les limites du nombre de pods par nœud
Considérations relatives au mode automatique EKS
Le mode automatique EKS limite le nombre de pods sur les nœuds à la valeur la plus faible des valeurs suivantes :
-
Capuchon rigide 110 dosettes
-
Le résultat du calcul du nombre maximum de capsules décrit ci-dessus.