AWS.compute.eks ManagedNode - AWS Costruttore di reti di telecomunicazioni

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS.compute.eks ManagedNode

AWS TNB supporta i gruppi di nodi gestiti EKS per automatizzare il provisioning e la gestione del ciclo di vita dei nodi (istanze Amazon EC2) per i cluster Amazon EKS Kubernetes. Per creare un gruppo di nodi EKS, devi scegliere Amazon Machine Images (AMI) per i tuoi nodi di lavoro del cluster fornendo l'ID dell'AMI o il tipo di AMI. Fornisci anche una coppia di chiavi Amazon EC2 per l'accesso SSH e le proprietà di scalabilità per il tuo gruppo di nodi. Il tuo gruppo di nodi deve essere associato a un cluster EKS. È necessario fornire le sottoreti per i nodi di lavoro.

Facoltativamente, puoi allegare gruppi di sicurezza, etichette di nodi e un gruppo di posizionamento al tuo gruppo di nodi.

Sintassi

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 requirements: cluster: String subnets: List network_interfaces: List security_groups: List placement_group: String user_data: String labels: List

Funzionalità

compute

Proprietà che definiscono i parametri di calcolo per il gruppo di nodi gestiti di Amazon EKS, ad esempio i tipi di istanze Amazon EC2 e le AMI di istanze Amazon EC2.

ami_type

Il tipo di AMI supportato da Amazon EKS.

Campo obbligatorio: sì

Tipo: String

Valori possibili: 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

L'ID dell'AMI.

Required: No

▬Tipo: stringa

Nota

Se entrambi ami_type ami_id sono specificati nel modello, AWS TNB utilizzerà solo il ami_id valore da creareEKSManagedNode.

instance_types

La dimensione dell'istanza.

Campo obbligatorio: sì

Tipo: List

key_pair

La coppia di chiavi EC2 per abilitare l'accesso SSH.

Campo obbligatorio: sì

Tipo: String

root_volume_encryption

Abilita la crittografia Amazon EBS per il volume root di Amazon EBS. Se questa proprietà non viene fornita, AWS TNB crittografa i volumi root di Amazon EBS per impostazione predefinita.

Campo obbligatorio: no

Impostazione predefinita: true

Tipo: Booleano

root_volume_encryption_key_arn

L'ARN della chiave. AWS KMS AWS TNB supporta ARN a chiave normale, ARN a chiave multiregione e alias ARN.

Required: No

▬Tipo: stringa

Nota
  • Se root_volume_encryption è falso, non includerlo. root_volume_encryption_key_arn

  • AWS TNB supporta la crittografia del volume principale delle AMI supportate da Amazon EBS.

  • Se il volume root dell'AMI è già crittografato, devi includere il codice root_volume_encryption_key_arn per consentire a AWS TNB di ricrittografare il volume root.

  • Se il volume root dell'AMI non è crittografato, AWS TNB utilizza il root_volume_encryption_key_arn per crittografare il volume root.

    Se non lo includiroot_volume_encryption_key_arn, AWS TNB utilizza la chiave predefinita fornita da AWS Key Management Service per crittografare il volume root.

  • AWS TNB non decrittografa un AMI crittografato.

scaling

Proprietà che definiscono i parametri di scalabilità per il gruppo di nodi gestiti Amazon EKS, ad esempio il numero desiderato di istanze Amazon EC2 e il numero minimo e massimo di istanze Amazon EC2 nel gruppo di nodi.

desired_size

Il numero di istanze in esso contenute. NodeGroup

Campo obbligatorio: sì

Tipo: integer

min_size

Il numero minimo di istanze in questo campo. NodeGroup

Campo obbligatorio: sì

Tipo: integer

max_size

Il numero massimo di istanze in questo campo. NodeGroup

Campo obbligatorio: sì

Tipo: integer

Proprietà

node_role

L'ARN del ruolo IAM collegato all'istanza Amazon EC2.

Campo obbligatorio: sì

Tipo: String

tags

I tag da allegare alla risorsa.

Campo obbligatorio: no

Tipo: List

Requisiti

cluster

Un nodo AWS.compute.eks.

Campo obbligatorio: sì

Tipo: String

subnets

Un AWS nodo .Networking.Subnet.

Campo obbligatorio: sì

Tipo: List

network_interfaces

Un nodo AWS.Networking.eni. Assicurati che le interfacce di rete e le sottoreti siano impostate sulla stessa zona di disponibilità o l'istanziazione avrà esito negativo.

Quando impostinetwork_interfaces, AWS TNB ottiene l'autorizzazione relativa agli ENI dalla multus_role proprietà se hai incluso la proprietà nel nodo AWS.Compute.eks. multus Altrimenti, AWS TNB ottiene l'autorizzazione relativa agli ENI dalla proprietà node_role.

Campo obbligatorio: no

Tipo: List

security_groups

Un .Networking.AWS SecurityGroupnodo.

Campo obbligatorio: no

Tipo: List

placement_group

Un tosca.nodes.AWS.Calcola. PlacementGroupnodo.

Required: No

▬Tipo: stringa

user_data

Un tosca.nodes.AWS.Calcola. UserDatariferimento al nodo. Uno script di dati utente viene passato alle istanze Amazon EC2 lanciate dal gruppo di nodi gestiti. Aggiungi le autorizzazioni necessarie per eseguire dati utente personalizzati al node_role passato al gruppo di nodi.

Required: No

▬Tipo: stringa

labels

Un elenco di etichette di nodi. L'etichetta di un nodo deve avere un nome e un valore. Crea un'etichetta utilizzando i seguenti criteri:

  • Il nome e il valore devono essere separati da=.

  • Il nome e il valore possono avere ciascuno una lunghezza massima di 63 caratteri.

  • L'etichetta può includere lettere (A-Z, a-z), numeri (0-9) e i seguenti caratteri: [-, _, ., *, ?]

  • Il nome e il valore devono iniziare e terminare con un carattere alfanumerico o. ? *

Ad esempio, myLabelName1=*NodeLabelValue1

Campo obbligatorio: no

Tipo: List

Esempio

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" requirements: cluster: SampleEKS subnets: - SampleSubnet network_interfaces: - SampleENI01 - SampleENI02 security_groups: - SampleSecurityGroup01 - SampleSecurityGroup02 placement_group: SamplePlacementGroup user_data: CustomUserData labels: - "sampleLabelName001=sampleLabelValue001" - "sampleLabelName002=sampleLabelValue002"