AWS.Calculez. EKSSelfManagedNode - 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. EKSSelfManagedNode

AWS TNB prend en charge les nœuds autogérés Amazon 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 Amazon 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.

  • Fournissez une paire de EC2 clés Amazon pour l'accès SSH.

  • Assurez-vous que votre groupe de nœuds est associé à un cluster Amazon EKS.

  • Indiquez le type d'instance et les tailles souhaitées, minimales et maximales.

  • 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.EKSSelfManagedNode: capabilities: compute: properties: ami_id: String instance_type: String 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 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 les nœuds autogérés Amazon EKS, tels que les types d' EC2 instances Amazon et les EC2 instances AMIs Amazon.

ami_id

ID d'AMI utilisé pour lancer l'instance. AWS TNB prend en charge les instances qui tirent parti de IMDSv2. Pour de plus amples informations, veuillez consulter Version IMDS.

Obligatoire : oui

Type : String

instance_type

Taille de l'instance.

Obligatoire : oui

Type : String

key_pair

La paire de EC2 clés Amazon 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 l'utilise AWS Managed Services 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 les nœuds autogérés 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. Les balises seront propagées aux instances créées par la ressource.

Obligatoire : non

Type: liste

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 autogéré. 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

SampleEKSSelfManagedNode: type: tosca.nodes.AWS.Compute.EKSSelfManagedNode capabilities: compute: properties: ami_id: "ami-123123EXAMPLE" instance_type: "c5.large" 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/SampleNodeRole" tags: - "Name=SampleVPC" - "Environment=Testing" requirements: cluster: SampleEKSCluster subnets: - SampleSubnet network_interfaces: - SampleNetworkInterface01 - SampleNetworkInterface02 security_groups: - SampleSecurityGroup01 - SampleSecurityGroup02 placement_group: SamplePlacementGroup user_data: CustomUserData labels: - "sampleLabelName001=sampleLabelValue001" - "sampleLabelName002=sampleLabelValue002"