

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

AWS TNB supporta i nodi autogestiti di Amazon 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 Amazon EKS, procedi come segue:
+ Scegli Amazon Machine Images (AMI) per i tuoi nodi cluster worker fornendo l'ID dell'AMI.
+ Fornisci una coppia di chiavi Amazon EC2 per l'accesso SSH.
+ Assicurati che il tuo gruppo di nodi sia associato a un cluster Amazon EKS.
+ Fornisci il tipo di istanza e le dimensioni desiderate, minime e massime.
+ 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-self-managed-node-syntax"></a>

```
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    
        root\_volume\_size: Integer
    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à
<a name="node-eks-self-managed-node-capabilities"></a><a name="node_eks_self_managed_node_compute"></a>`calcolo`

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

 `ami_id`    
L'ID AMI utilizzato per avviare l'istanza. AWS TNB supporta le istanze che sfruttano IMDSv2. Per ulteriori informazioni, consulta [Versione IMDS](imds-version.md).  
Puoi aggiornare l'ID AMI per`EKSSelfManagedNode`. La versione Amazon EKS dell'AMI deve essere uguale o inferiore a due versioni rispetto alla versione del cluster Amazon EKS. Ad esempio, se la versione del cluster Amazon EKS è 1.31, la versione dell'AMI Amazon EKS deve essere 1.31, 1.30 o 1.29.
Obbligatorio: sì  
Tipo: String

 `instance_type`    
La dimensione dell'istanza.  
Obbligatorio: sì  
Tipo: String

 `key_pair`    
La coppia di chiavi Amazon EC2 per abilitare l'accesso SSH.  
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.  
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: String  
+ Se `root_volume_encryption` è falso, non includerlo. `root_volume_encryption_key_arn`
+ AWS TNB supporta la crittografia del volume root delle EBS-backed AMI Amazon.
+ 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 lo utilizza AWS Managed Services 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.  
Obbligatorio: no  
Impostazione predefinita: 20  
Tipo: numero intero  
Valori possibili: da 1 a 16.384<a name="node_eks_self_managed_node_scaling"></a>`scalabilità`

Proprietà che definiscono i parametri di scalabilità per i nodi autogestiti di 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  
Obbligatorio: sì  
Tipo: numero intero

 `min_size`    
Il numero minimo di istanze in questo campo. NodeGroup  
Obbligatorio: sì  
Tipo: numero intero

 `max_size`    
Il numero massimo di istanze in questo campo. NodeGroup  
Obbligatorio: sì  
Tipo: numero intero

## Properties
<a name="node-eks-self-managed-node-properties"></a>

 `node_role`    
L'ARN del ruolo IAM collegato all'istanza Amazon EC2.  
Obbligatorio: sì  
Tipo: String

 `tags`    
I tag da allegare alla risorsa. I tag verranno propagati alle istanze create dalla risorsa.  
Obbligatorio: no  
Tipo: elenco

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

 `cluster`    
[Un.AWS Compute.EKS](node-eks.md)nodo.  
Obbligatorio: sì  
Tipo: String

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

 `network_interfaces`    
Un [AWS. Networking.ENI](node-eni.md)nodo. 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 agli ENI dalla `multus_role` proprietà se la proprietà è stata inclusa nel nodo. `multus` [AWS.Compute.EKS](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html) [Altrimenti, AWS TNB ottiene l'autorizzazione relativa agli ENI dalla proprietà node\_role.](#node_eks_self_managed_node_role)  
Obbligatorio: no  
Tipo: elenco

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

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

 `user_data`    
Un [tosca.nodes.AWS. Compute.UserData](node-compute-user-data.md)riferimento al nodo. Uno script di dati utente viene passato alle istanze Amazon EC2 lanciate dal gruppo di nodi autogestito. Aggiungi le autorizzazioni necessarie per l'esecuzione di dati utente personalizzati al node\_role passato al gruppo di nodi.  
Required: No  
Tipo: String

 `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`  
Obbligatorio: no  
Tipo: elenco

## Esempio
<a name="node-eks-self-managed-node-example"></a>

```
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}}"
        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/{{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"
```