AWS.Calculez. EKSManagedNœud - AWS Générateur de réseaux de télécommunications

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.Calculez. EKSManagedNœud

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 ( EC2 instances Amazon) 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 EC2 clés Amazon 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 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

compute

Propriétés qui définissent les paramètres de calcul pour le groupe de nœuds géré par Amazon EKS, tels que les types d' EC2 instances Amazon et les EC2 instances Amazon AMIs.

ami_type

Type d'AMI pris en charge par Amazon EKS.

Obligatoire : oui

Type : String

Valeurs possibles : AL2_x86_64 | AL2_x86_64_GPU | AL2_ARM_64 | CUSTOM | BOTTLEROCKET_ARM_64 | BOTTLEROCKET_x86_64 | BOTTLEROCKET_ARM_64_NVIDIA | BOTTLEROCKET_x86_64_NVIDIA

ami_id

ID de l'AMI.

Obligatoire : non

Type : String

Note

Si ami_type les deux ami_id sont spécifiés dans le modèle, AWS TNB n'utilisera que la ami_id valeur pour créerEKSManagedNode.

instance_types

Taille de l'instance.

Obligatoire : oui

Type: liste

key_pair

La paire de EC2 clés 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 : booléen

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 : String

Note
  • Si root_volume_encryption c'est faux, ne l'incluez pasroot_volume_encryption_key_arn.

  • AWS TNB prend en charge le chiffrement du volume racine des AMI soutenues par Amazon EBS.

  • Si le volume racine de l'AMI est déjà chiffré, vous devez inclure le AWS TNB root_volume_encryption_key_arn pour le rechiffrer.

  • Si le volume racine de l'AMI n'est pas chiffré, AWS TNB utilise le root_volume_encryption_key_arn pour chiffrer le volume racine.

    Si vous ne l'incluez pasroot_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.

scaling

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' EC2 instances Amazon et le nombre minimum et maximum d' EC2 instances Amazon dans le groupe de nœuds.

desired_size

Le nombre d'instances qu'il contient NodeGroup.

Obligatoire : oui

Type : entier

min_size

Le nombre minimum d'instances dans ce cas NodeGroup.

Obligatoire : oui

Type : entier

max_size

Le nombre maximum d'instances dans ce cas NodeGroup.

Obligatoire : oui

Type : entier

Propriétés

node_role

L'ARN du rôle IAM attaché à l' EC2 instance Amazon.

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.23 à 1.30 de Kubernetes. Éléments à prendre en compte :

  • Spécifiez soit le kubernetes_version soitami_id. Ne spécifiez pas les deux.

  • Le kubernetes_version doit être inférieur ou égal au AWS.Compute. EKSManagedVersion du nœud.

  • Il peut y avoir une différence de 3 versions entre le AWS fichier .Compute. EKSManagedVersion du nœud etkubernetes_version.

  • Si aucun des kubernetes_version ou ami_id n'est spécifié, AWS TNB utilisera la dernière AMI de la AWS.Compute.EKSManagedNode version pour créer EKSManagedNode

Obligatoire : non

Type : String

Valeurs possibles : 1,23 | 1,24 | 1,25 | 1,26 | 1,27 | 1,28 | 1,29 | 1,30

Prérequis

cluster

Un nœud AWS.Compute.EKS.

Obligatoire : oui

Type : String

subnets

Un nœud AWS.Networking.Subnet.

Obligatoire : oui

Type: liste

network_interfaces

Un nœud AWS.Networking.ENI. 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éfinisseznetwork_interfaces, AWS TNB obtient l'autorisation associée à la multus_role propriété si vous ENIs l'avez incluse dans le nœud multus AWS.compute.EKS. Dans le cas contraire, AWS TNB obtient l'autorisation associée à ENIs 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.Calculez. PlacementGroupnœud.

Obligatoire : non

Type : String

user_data

Un tosca.nodes.AWS.Calculez. UserDataréférence de nœud. Un script de données utilisateur est transmis aux EC2 instances Amazon 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 : String

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=*NodeLabelValue1

Obligatoire : 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" scaling: 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"