

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# AWS.Compute. EKSManagedNodo
<a name="node-eks-managed-node"></a>

AWS TNB es compatible con los grupos de nodos gestionados por EKS para automatizar el aprovisionamiento y la administración del ciclo de vida de los nodos ( EC2 instancias de Amazon) para los clústeres de Amazon EKS Kubernetes. Para crear un grupo de nodos de EKS, haga lo siguiente:
+ Elija Amazon Machine Images (AMI) para los nodos de trabajo de su clúster proporcionando el ID de la AMI o el tipo de AMI.
+ Proporcione un par de EC2 claves de Amazon para el acceso SSH y las propiedades de escalado de su grupo de nodos.
+ Asegúrese de que su grupo de nodos esté asociado a un clúster de Amazon EKS.
+ Proporcione las subredes de los nodos de trabajo.
+ Si lo desea, adjunte grupos de seguridad, etiquetas de nodos y un grupo de ubicación a su grupo de nodos.

## Sintaxis
<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
```

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

Propiedades que definen los parámetros informáticos del grupo de nodos gestionado por Amazon EKS, como los tipos de EC2 instancias de Amazon y la EC2 instancia de Amazon AMIs.

 `ami_type`    
El tipo de AMI compatible con Amazon EKS.  
Obligatorio: sí  
Tipo: cadena  
Valores posibles: `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`    
Es el ID de la AMI.  
Obligatorio: no  
Tipo: cadena  
Si ambos `ami_type` y `ami_id` se especifican en la plantilla, AWS TNB utilizará solo el `ami_id` valor para crear`EKSManagedNode`.

 `instance_types`    
El tamaño de la instancia.  
Obligatorio: sí  
Tipo: lista

 `key_pair`    
El par de EC2 claves para habilitar el acceso SSH.  
Obligatorio: sí  
Tipo: cadena

 `root_volume_encryption`    
Habilita el cifrado de Amazon EBS para el volumen raíz de Amazon EBS. Si no se proporciona esta propiedad, AWS TNB cifra los volúmenes raíz de Amazon EBS de forma predeterminada.  
Obligatorio: no  
Predeterminado: true  
Tipo: Booleano

 `root_volume_encryption_key_arn`    
El ARN de la AWS KMS clave. AWS TNB admite el ARN de clave normal, el ARN de clave multirregional y el ARN de alias.  
Obligatorio: no  
Tipo: cadena  
+ Si `root_volume_encryption` es falso, no lo incluya. `root_volume_encryption_key_arn`
+ AWS TNB admite el cifrado del volumen raíz de las AMI respaldadas por Amazon EBS.
+ Si el volumen raíz de la AMI ya está cifrado, debe incluirlo `root_volume_encryption_key_arn` para que AWS TNB vuelva a cifrar el volumen raíz.
+  Si el volumen raíz de la AMI no está cifrado, AWS TNB lo utiliza `root_volume_encryption_key_arn` para cifrar el volumen raíz.

  Si no la incluye`root_volume_encryption_key_arn`, AWS TNB utilizará la clave predeterminada proporcionada por AWS Key Management Service para cifrar el volumen raíz.
+ AWS TNB no descifra una AMI cifrada.

 `root_volume_size`    
El tamaño del volumen raíz de Amazon Elastic Block Store en GiBs.  
Obligatorio: no  
Predeterminado: 20  
Tipo: entero  
Valores posibles: de 1 a 16.384<a name="node_eks_managed_node_scaling"></a>`scaling`

Propiedades que definen los parámetros de escalado del grupo de nodos gestionado por Amazon EKS, como el número deseado de EC2 instancias de Amazon y el número mínimo y máximo de EC2 instancias de Amazon en el grupo de nodos.

 `desired_size`    
El número de instancias que contiene NodeGroup.  
Obligatorio: sí  
Tipo: entero

 `min_size`    
El número mínimo de instancias que contiene NodeGroup.  
Obligatorio: sí  
Tipo: entero

 `max_size`    
El número máximo de instancias que contiene NodeGroup.  
Obligatorio: sí  
Tipo: entero

## Propiedades
<a name="node_eks_managed_node-properties"></a>

 `node_role`    
El ARN de la función de IAM asociada a la instancia de Amazon. EC2   
Obligatorio: sí  
Tipo: cadena

 `tags`    
Las etiquetas que deben asociarse al recurso.  
Obligatorio: no  
Tipo: lista

 `kubernetes_version`    
La versión de Kubernetes para el grupo de nodos gestionados. AWS TNB es compatible con las versiones 1.25 a 1.32 de Kubernetes. Considere lo siguiente:  
+ Especifique la opción o. `kubernetes_version` `ami_id` No especifique ambos.
+ `kubernetes_version`Debe ser menor o igual que AWS.Compute. EKSManagedVersión de nodo.
+ Puede haber una diferencia de 3 versiones entre el AWS.Compute. EKSManagedVersión de nodo y. `kubernetes_version`
+ Si no `ami_id` se `kubernetes_version` especifica ni, AWS TNB utilizará la AMI más reciente de la `AWS.Compute.EKSManagedNode` versión para crear `EKSManagedNode`
Obligatorio: no  
Tipo: cadena  
Valores posibles: 1,25 \$1 1,26 \$1 1,27 \$1 1,28 \$1 1,29 \$1 1,30 \$1 1,31 \$1 1,32

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

 `cluster`    
Un nodo [AWS.Compute.EKS](node-eks.md).  
Obligatorio: sí  
Tipo: cadena

 `subnets`    
Un nodo [AWS.Networking.Subnet](node-subnet.md).  
Obligatorio: sí  
Tipo: lista

 `network_interfaces`    
Un nodo [AWS.Networking.ENI](node-eni.md). Asegúrese de que las interfaces de red y las subredes estén configuradas en la misma zona de disponibilidad o se producirá un error en la instanciación.  
[Al configurarlo`network_interfaces`, AWS TNB obtiene el permiso correspondiente de la `multus_role` propiedad si la ha incluido en el nodo ENIs AWS.Compute.EKS. `multus`](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html) [De lo contrario, AWS TNB obtiene el permiso correspondiente de la propiedad node\$1role. ENIs ](#node_eks_managed_node_node_role)  
Obligatorio: no  
Tipo: lista

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

 `placement_group`    
Un [tosca.nodes.AWS.Compute. PlacementGroup](node-compute-placement-group.md)nodo.  
Obligatorio: no  
Tipo: cadena

 `user_data`    
Un [tosca.nodes.AWS.Compute. UserData](node-compute-user-data.md)referencia de nodo. Se pasa un script de datos de usuario a las EC2 instancias de Amazon lanzadas por el grupo de nodos gestionado. Agregue los permisos necesarios para ejecutar datos de usuario personalizados al node\$1role pasado al grupo de nodos.  
Obligatorio: no  
Tipo: cadena

 `labels`    
Una lista de etiquetas de nodos. Una etiqueta de nodo debe tener un nombre y un valor. Cree una etiqueta con los siguientes criterios:  
+ El nombre y el valor deben estar separados por`=`.
+ El nombre y el valor pueden tener hasta 63 caracteres cada uno.
+ La etiqueta puede incluir letras (A-Z, a-z), números (0-9) y los siguientes caracteres: `[-, _, ., *, ?]`
+ El nombre y el valor deben empezar y terminar con un alfanumérico o un carácter. `?` `*`
Por ejemplo, `myLabelName1=*NodeLabelValue1`  
Obligatorio: no  
Tipo: lista

## Ejemplo
<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"
```