

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# AWS.Computação. EKSManagedNodo
<a name="node-eks-managed-node"></a>

AWS O TNB oferece suporte a grupos de nós gerenciados do EKS para automatizar o provisionamento e o gerenciamento do ciclo de vida dos nós (instâncias da Amazon EC2 ) para clusters do Amazon EKS Kubernetes. Para criar um grupo de nós EKS, faça o seguinte:
+ Escolha as Amazon Machine Images (AMI) para seus nós de trabalho de cluster fornecendo a ID da AMI ou o tipo de AMI.
+ Forneça um par de EC2 chaves da Amazon para acesso SSH e as propriedades de escalabilidade para seu grupo de nós.
+ Certifique-se de que seu grupo de nós esteja associado a um cluster Amazon EKS.
+ Forneça as sub-redes para os nós de trabalho.
+ Opcionalmente, anexe grupos de segurança, rótulos de nós e um grupo de posicionamento ao seu grupo de nós.

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

Propriedades que definem os parâmetros de computação para o grupo de nós gerenciados do Amazon EKS, como tipos de EC2 instância da Amazon e EC2 instância da Amazon AMIs.

 `ami_type`    
O tipo de AMI compatível com o Amazon EKS.  
Obrigatório: sim  
Tipo: String  
Valores possíveis: `AL2_x86_64` \$1 `AL2_x86_64_GPU` \$1 `AL2_ARM_64` \$1 `AL2023_x86_64` \$1 \$1 `AL2023_ARM_64` \$1 `AL2023_x86_64_NVIDIA` \$1 `AL2023_x86_64_NEURON` \$1 `CUSTOM` \$1 `BOTTLEROCKET_ARM_64` \$1 `BOTTLEROCKET_x86_64` \$1 `BOTTLEROCKET_ARM_64_NVIDIA` \$1 `BOTTLEROCKET_x86_64_NVIDIA`

 `ami_id`    
O ID da AMI.  
Obrigatório: Não  
Tipo: String  
Se ambos `ami_type` `ami_id` forem especificados no modelo, o AWS TNB usará somente o `ami_id` valor para criar`EKSManagedNode`.

 `instance_types`    
O tamanho da instância.  
Obrigatório: Sim  
Tipo: lista

 `key_pair`    
O par de EC2 chaves para permitir o acesso SSH.  
Obrigatório: sim  
Tipo: String

 `root_volume_encryption`    
Ativa a criptografia do Amazon EBS para o volume raiz do Amazon EBS. Se essa propriedade não for fornecida, o AWS TNB criptografará os volumes raiz do Amazon EBS por padrão.  
Obrigatório: Não  
Padrão: verdadeiro  
Tipo: booliano

 `root_volume_encryption_key_arn`    
O ARN da chave. AWS KMS AWS O TNB suporta ARN de chave regular, ARN de chave multirregional e ARN de alias.  
Obrigatório: Não  
Tipo: String  
+ Se `root_volume_encryption` for falso, não inclua`root_volume_encryption_key_arn`.
+ AWS O TNB suporta criptografia de volume raiz de AMIs suportadas pelo Amazon EBS.
+ Se o volume raiz da AMI já estiver criptografado, você deverá incluir o `root_volume_encryption_key_arn` para que o AWS TNB recriptografe o volume raiz.
+  Se o volume raiz da AMI não estiver criptografado, o AWS TNB usará o `root_volume_encryption_key_arn` para criptografar o volume raiz.

  Se você não incluir`root_volume_encryption_key_arn`, o AWS TNB usa a chave padrão fornecida por AWS Key Management Service para criptografar o volume raiz.
+ AWS O TNB não decifra uma AMI criptografada.

 `root_volume_size`    
O tamanho do volume raiz do Amazon Elastic Block Store em GiBs.  
Obrigatório: Não  
Padrão: 20  
Tipo: inteiro  
Valores possíveis: 1 a 16.384<a name="node_eks_managed_node_scaling"></a>`scaling`

Propriedades que definem os parâmetros de escalabilidade para o grupo de nós gerenciados do Amazon EKS, como o número desejado de EC2 instâncias da Amazon e o número mínimo e máximo de EC2 instâncias da Amazon no grupo de nós.

 `desired_size`    
O número de instâncias neste NodeGroup.  
Obrigatório: Sim  
Tipo: inteiro

 `min_size`    
O número mínimo de instâncias neste NodeGroup.  
Obrigatório: Sim  
Tipo: inteiro

 `max_size`    
O número máximo de instâncias neste NodeGroup.  
Obrigatório: Sim  
Tipo: inteiro

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

 `node_role`    
O ARN da função do IAM que está anexada à instância da Amazon EC2 .  
Obrigatório: sim  
Tipo: String

 `tags`    
As tags a serem anexadas ao recurso.  
Obrigatório: Não  
Tipo: lista

 `kubernetes_version`    
A versão do Kubernetes para o grupo de nós gerenciados. AWS O TNB é compatível com as versões 1.25 a 1.32 do Kubernetes. Considere o seguinte:  
+ Especifique o `kubernetes_version` ou`ami_id`. Não especifique ambos.
+ O `kubernetes_version` deve ser menor ou igual ao AWS.Compute. EKSManagedVersão Node.
+ Pode haver uma diferença de 3 versões entre o AWS.Compute. EKSManagedVersão Node `kubernetes_version` e.
+ Se nenhum `kubernetes_version` ou `ami_id` for especificado, o AWS TNB usará a AMI mais recente da `AWS.Compute.EKSManagedNode` versão para criar `EKSManagedNode`
Obrigatório: Não  
Tipo: String  
Valores possíveis: 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`    
Um nó [AWS.Compute.EKS](node-eks.md).  
Obrigatório: sim  
Tipo: String

 `subnets`    
Um nó [AWS.Networking.Subnet](node-subnet.md).  
Obrigatório: Sim  
Tipo: lista

 `network_interfaces`    
Um nó [AWS.Networking.ENI](node-eni.md). Certifique-se de que as interfaces de rede e sub-redes estejam definidas com a mesma zona de disponibilidade, senão a instanciação falhará.  
Quando você configura`network_interfaces`, o AWS TNB obtém a permissão relacionada à ENIs `multus_role` propriedade se você incluiu a `multus` propriedade no nó [aws.compute.eks](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html). Caso contrário, o AWS TNB obterá a permissão relacionada à propriedade ENIs [node\$1role](#node_eks_managed_node_node_role).  
Obrigatório: Não  
Tipo: lista

 `security_groups`    
Um [AWS.Networking. SecurityGroup](node-networking-security-group.md)nodo.  
Obrigatório: Não  
Tipo: lista

 `placement_group`    
Um [tosca.nodes.AWS.Computação. PlacementGroup](node-compute-placement-group.md)nodo.  
Obrigatório: Não  
Tipo: String

 `user_data`    
Um [tosca.nodes.AWS.Computação. UserData](node-compute-user-data.md)referência de nó. Um script de dados do usuário é passado para as EC2 instâncias da Amazon iniciadas pelo grupo de nós gerenciados. Adicione as permissões necessárias para executar dados de usuário personalizados no node\$1role transmitido ao grupo de nós.  
Obrigatório: Não  
Tipo: String

 `labels`    
Uma lista de rótulos de nós. Um rótulo de nó deve ter um nome e um valor. Crie um rótulo usando os seguintes critérios:  
+ O nome e o valor devem ser separados por`=`.
+ O nome e o valor podem ter, cada um, até 63 caracteres.
+ O rótulo pode incluir letras (A-Z, a-z), números (0-9) e os seguintes caracteres: `[-, _, ., *, ?]`
+ O nome e o valor devem começar e terminar com um caractere alfanumérico ou `*` caractere. `?`
Por exemplo, `myLabelName1=*NodeLabelValue1`.  
Obrigatório: Não  
Tipo: lista

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