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.
AWS.Compute.EKSManagedNode
AWS TNB prend en charge les groupes de nœuds gérés par EKS pour automatiser le provisionnement et la gestion du cycle de vie des nœuds (instances Amazon EC2) pour les clusters Amazon EKS Kubernetes. Pour créer un groupe de nœuds EKS, procédez comme suit :
-
Choisissez les Amazon Machine Images (AMI) pour les nœuds de travail de votre cluster en fournissant soit l'ID de l'AMI, soit le type d'AMI.
-
Fournissez une paire de clés Amazon EC2 pour l'accès SSH et les propriétés de dimensionnement de votre groupe de nœuds.
-
Assurez-vous que votre groupe de nœuds est associé à un cluster Amazon EKS.
-
Fournissez les sous-réseaux pour les nœuds de travail.
-
Vous pouvez éventuellement associer des groupes de sécurité, des étiquettes de nœuds et un groupe de placement à votre groupe de nœuds.
Syntaxe
tosca.nodes.AWS.Compute.EKSManagedNode:
capabilities:
compute:
properties:
ami_type: String
ami_id: String
instance_types: List
key_pair: String
root_volume_encryption: Boolean
root_volume_encryption_key_arn: String
root_volume_size: Integer
scaling:
properties:
desired_size: Integer
min_size: Integer
max_size: Integer
properties:
node_role: String
tags: List
kubernetes_version: String
requirements:
cluster: String
subnets: List
network_interfaces: List
security_groups: List
placement_group: String
user_data: String
labels: List
Fonctionnalités
Calcul
Propriétés qui définissent les paramètres informatiques du groupe de nœuds gérés par Amazon EKS, tels que les types d'instances Amazon EC2 et les AMI d'instance Amazon EC2.
-
ami_type -
Type d' EKS-supported AMI Amazon.
Obligatoire : oui
Type : String
Valeurs possibles :
AL2_x86_64AL2_x86_64_GPU|AL2_ARM_64|AL2023_x86_64|AL2023_ARM_64|AL2023_x86_64_NVIDIA|AL2023_x86_64_NEURONCUSTOM|BOTTLEROCKET_ARM_64|BOTTLEROCKET_x86_64|BOTTLEROCKET_ARM_64_NVIDIA|BOTTLEROCKET_x86_64_NVIDIA -
ami_id -
ID de l'AMI.
Obligatoire : non
Type : Chaîne
Note
Si
ami_typeles deuxami_idsont spécifiés dans le modèle, AWS TNB n'utilisera que laami_idvaleur pour créerEKSManagedNode. -
instance_types -
Taille de l'instance.
Obligatoire : oui
Type : liste
-
key_pair -
La paire de clés EC2 pour activer l'accès SSH.
Obligatoire : oui
Type : String
-
root_volume_encryption -
Active le chiffrement Amazon EBS pour le volume racine Amazon EBS. Si cette propriété n'est pas fournie, AWS TNB chiffre les volumes racine Amazon EBS par défaut.
Obligatoire : non
Valeur par défaut : true
Type : Boolean
-
root_volume_encryption_key_arn -
L'ARN de la AWS KMS clé. AWS TNB prend en charge l'ARN clé standard, l'ARN clé multirégional et l'ARN alias.
Obligatoire : non
Type : Chaîne
Note
-
Si
root_volume_encryptionc'est faux, ne l'incluez pasroot_volume_encryption_key_arn. -
AWS TNB prend en charge le chiffrement du volume racine des EBS-backed AMI Amazon.
-
Si le volume racine de l'AMI est déjà chiffré, vous devez inclure le AWS TNB
root_volume_encryption_key_arnpour le rechiffrer. -
Si le volume racine de l'AMI n'est pas chiffré, AWS TNB utilise le
root_volume_encryption_key_arnpour chiffrer le volume racine.Si vous ne l'incluez pas
root_volume_encryption_key_arn, AWS TNB utilise la clé par défaut fournie par AWS Key Management Service pour chiffrer le volume racine. -
AWS TNB ne déchiffre pas une AMI chiffrée.
-
-
root_volume_size -
Taille du volume racine d'Amazon Elastic Block Store en GiBs.
Obligatoire : non
Valeur par défaut : 20
Type : Integer
Valeurs possibles : 1 à 16 384
mise à l’échelle
Propriétés qui définissent les paramètres de dimensionnement pour le groupe de nœuds géré par Amazon EKS, tels que le nombre souhaité d'instances Amazon EC2 et le nombre minimum et maximum d'instances Amazon EC2 dans le groupe de nœuds.
-
desired_size -
Le nombre d'instances qu'il contient NodeGroup.
Obligatoire : oui
Type : Integer
-
min_size -
Le nombre minimum d'instances dans ce cas NodeGroup.
Obligatoire : oui
Type : Integer
-
max_size -
Le nombre maximum d'instances dans ce cas NodeGroup.
Obligatoire : oui
Type : Integer
Propriétés
-
node_role -
L'ARN du rôle IAM attaché à l'instance Amazon EC2.
Obligatoire : oui
Type : String
-
tags -
Les balises à associer à la ressource.
Obligatoire : non
Type : liste
-
kubernetes_version -
Version Kubernetes pour le groupe Managed Node. AWS TNB prend en charge les versions 1.27 à 1.34 de Kubernetes. Éléments à prendre en compte :
-
Spécifiez soit le
kubernetes_versionsoitami_id. Ne spécifiez pas les deux. -
Le
kubernetes_versiondoit être inférieur ou égal au AWS. Compute.EKSManagedNode version. -
Il peut y avoir une différence de 3 versions entre les AWS. Compute.EKSManagedNode version et
kubernetes_version. -
Si aucun des
kubernetes_versionouami_idn'est spécifié, AWS TNB utilisera la dernière AMI de laAWS.Compute.EKSManagedNodeversion pour créerEKSManagedNode
Obligatoire : non
Type : Chaîne
Valeurs possibles : 1,27 | 1,28 | 1,29 | 1,30 | 1,31 | 1,32 | 1,33 | 1,34
-
Exigences
-
cluster -
Un AWS. Compute.EKSnœud.
Obligatoire : oui
Type : String
-
subnets -
Un AWS. Networking.Subnetnœud.
Obligatoire : oui
Type : liste
-
network_interfaces -
Un AWS. Networking.ENInœud. Assurez-vous que les interfaces réseau et les sous-réseaux sont définis sur la même zone de disponibilité, sinon l'instanciation échouera.
Lorsque vous définissez
network_interfaces, AWS TNB obtient l'autorisation relative aux ENI auprès de lamultus_rolepropriété si vous avez inclus lamultuspropriété dans le nœud. AWS.Compute.EKS Sinon, AWS TNB obtient l'autorisation relative aux ENI à partir de la propriété node_role.Obligatoire : non
Type : liste
-
security_groups -
Un AWS. Networking.SecurityGroupnœud.
Obligatoire : non
Type : liste
-
placement_group -
Un tosca.nodes.AWS. Compute.PlacementGroupnœud.
Obligatoire : non
Type : Chaîne
-
user_data -
Un tosca.nodes.AWS. Compute.UserDataréférence de nœud. Un script de données utilisateur est transmis aux instances Amazon EC2 lancées par le groupe de nœuds gérés. Ajoutez les autorisations requises pour exécuter des données utilisateur personnalisées au node_role transmis au groupe de nœuds.
Obligatoire : non
Type : Chaîne
-
labels -
Liste des étiquettes de nœuds. L'étiquette d'un nœud doit avoir un nom et une valeur. Créez une étiquette en utilisant les critères suivants :
-
Le nom et la valeur doivent être séparés par
=. -
Le nom et la valeur peuvent chacun comporter jusqu'à 63 caractères.
-
L'étiquette peut inclure des lettres (A-Z, a-z,), des chiffres (0-9) et les caractères suivants :
[-, _, ., *, ?] -
Le nom et la valeur doivent commencer et se terminer par un
*caractère alphanumérique ou.?
Par exemple,
myLabelName1=*NodeLabelValue1Obligatoire : non
Type : liste
-
Exemple
SampleEKSManagedNode: type: tosca.nodes.AWS.Compute.EKSManagedNode capabilities: compute: properties: ami_type: "AL2_x86_64" instance_types: - "t3.xlarge" key_pair: "SampleKeyPair" root_volume_encryption: true root_volume_encryption_key_arn: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" root_volume_size:1500scaling: properties: desired_size: 1 min_size: 1 max_size: 1 properties: node_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/SampleRole" tags: - "Name=SampleVPC" - "Environment=Testing" kubernetes_version: - "1.30" requirements: cluster: SampleEKS subnets: - SampleSubnet network_interfaces: - SampleENI01 - SampleENI02 security_groups: - SampleSecurityGroup01 - SampleSecurityGroup02 placement_group: SamplePlacementGroup user_data: CustomUserData labels: - "sampleLabelName001=sampleLabelValue001" - "sampleLabelName002=sampleLabelValue002"