

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.Calcola. EKSManagedNodo
<a name="node-eks-managed-node"></a>

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, procedi come segue:
+ Scegli Amazon Machine Images (AMI) per i tuoi nodi cluster worker fornendo l'ID dell'AMI o il tipo di AMI.
+ Fornisci una coppia di EC2 chiavi Amazon per l'accesso SSH e le proprietà di scalabilità per il tuo gruppo di nodi.
+ Assicurati che il tuo gruppo di nodi sia associato a un cluster Amazon EKS.
+ Fornisci le sottoreti per i nodi di lavoro.
+ Facoltativamente, allega gruppi di sicurezza, etichette di nodi e un gruppo di posizionamento al tuo gruppo di nodi.

## Sintassi
<a name="node-eks-managed-node-syntax"></a>

```
tosca.nodes.AWS.Compute.EKSManagedNode:
  capabilities:
    compute:
      properties:
        ami\$1type: String
        ami\$1id: String
        instance\$1types: List
        key\$1pair: String
        root\$1volume\$1encryption: Boolean
        root\$1volume\$1encryption\$1key\$1arn: String
        root\$1volume\$1size: Integer 
    scaling:
      properties:
        desired\$1size: Integer
        min\$1size: Integer
        max\$1size: Integer       
  properties:
    node\$1role: String
    tags: List
    kubernetes\$1version: String        
  requirements:
    cluster: String
    subnets: List
    network\$1interfaces: List
    security\$1groups: List
    placement\$1group: String
    user\$1data: String
    labels: List
```

## Funzionalità
<a name="node-eks-managed-node-capabilities"></a><a name="node_eks_managed_node_compute"></a>`compute`

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

 `ami_type`    
Il tipo di AMI supportato da Amazon EKS.  
Campo obbligatorio: sì  
Tipo: stringa  
Valori possibili: `AL2_x86_64` \$1 \$1 `AL2_x86_64_GPU` \$1 `AL2_ARM_64` \$1 `AL2023_x86_64` \$1 `AL2023_ARM_64` \$1 `AL2023_x86_64_NVIDIA` \$1 \$1 `AL2023_x86_64_NEURON` \$1 `CUSTOM` \$1 `BOTTLEROCKET_ARM_64` \$1 `BOTTLEROCKET_x86_64` `BOTTLEROCKET_ARM_64_NVIDIA` `BOTTLEROCKET_x86_64_NVIDIA`

 `ami_id`    
L'ID dell'AMI.  
Required: No  
Tipo: stringa  
Se entrambi `ami_type` `ami_id` sono specificati nel modello, AWS TNB utilizzerà solo il `ami_id` valore da creare`EKSManagedNode`.

 `instance_types`    
La dimensione dell'istanza.  
Campo obbligatorio: sì  
Tipo: List

 `key_pair`    
La coppia di EC2 chiavi per abilitare l'accesso SSH.  
Campo obbligatorio: sì  
Tipo: stringa

 `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  
+ 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 includi`root_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.

 `root_volume_size`    
La dimensione del volume root di Amazon Elastic Block Store in GiBs.  
Campo obbligatorio: no  
Impostazione predefinita: 20  
Tipo: integer  
Valori possibili: da 1 a 16.384<a name="node_eks_managed_node_scaling"></a>`scaling`

Proprietà che definiscono i parametri di scalabilità per il gruppo di nodi gestiti Amazon EKS, ad esempio il numero desiderato di EC2 istanze Amazon e il numero minimo e massimo di EC2 istanze Amazon 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à
<a name="node_eks_managed_node-properties"></a>

 `node_role`    
L'ARN del ruolo IAM collegato all'istanza Amazon EC2 .  
Campo obbligatorio: sì  
Tipo: stringa

 `tags`    
I tag da allegare alla risorsa.  
Campo obbligatorio: no  
Tipo: List

 `kubernetes_version`    
La versione Kubernetes per il gruppo Managed Node. AWS TNB supporta le versioni di Kubernetes da 1.25 a 1.32. Considera i seguenti aspetti:  
+ `kubernetes_version``ami_id`Specificare o. Non specificare entrambi.
+ `kubernetes_version`Deve essere minore o uguale a AWS.Compute. EKSManagedVersione del nodo.
+ Può esserci una differenza di 3 versioni tra AWS.Compute. EKSManagedVersione del nodo e. `kubernetes_version`
+ Se non viene specificato nessuno dei due `kubernetes_version` o`ami_id`, AWS TNB utilizzerà l'AMI più recente della `AWS.Compute.EKSManagedNode` versione per creare `EKSManagedNode`
Required: No  
Tipo: stringa  
Valori possibili: 1,25 \$1 1,26 \$1 1,27 \$1 1,28 \$1 1,29 \$1 1,30 \$1 1,31 \$1 1,32

## Requisiti
<a name="node-eks-managed-node-requirements"></a>

 `cluster`    
[AWS Un](node-eks.md) nodo .compute.eks.  
Campo obbligatorio: sì  
Tipo: stringa

 `subnets`    
[Un AWS nodo .Networking.Subnet.](node-subnet.md)  
Campo obbligatorio: sì  
Tipo: List

 `network_interfaces`    
Un nodo [AWS.Networking.eni](node-eni.md). Assicurati che le interfacce di rete e le sottoreti siano impostate sulla stessa zona di disponibilità o l'istanziazione avrà esito negativo.  
[Quando si imposta`network_interfaces`, AWS TNB ottiene l'autorizzazione relativa alla ENIs `multus_role` proprietà se è stata inclusa la proprietà nel nodo AWS.Compute.eks. `multus`](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html) [Altrimenti, AWS TNB ottiene l'autorizzazione relativa alla proprietà node\$1role. ENIs ](#node_eks_managed_node_node_role)  
Campo obbligatorio: no  
Tipo: List

 `security_groups`    
[Un .Networking.AWS SecurityGroup](node-networking-security-group.md)nodo.  
Campo obbligatorio: no  
Tipo: List

 `placement_group`    
Un [tosca.nodes.AWS.Calcola. PlacementGroup](node-compute-placement-group.md)nodo.  
Required: No  
Tipo: stringa

 `user_data`    
Un [tosca.nodes.AWS.Calcola. UserData](node-compute-user-data.md)riferimento al nodo. Uno script di dati utente viene passato alle EC2 istanze Amazon lanciate dal gruppo di nodi gestiti. Aggiungi le autorizzazioni necessarie per eseguire dati utente personalizzati al node\$1role 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
<a name="node-eks-managed-node-example"></a>

```
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: 1500    
    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"
```