

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

AWS O TNB oferece suporte aos nós autogerenciados do Amazon EKS para automatizar o provisionamento e o gerenciamento do ciclo de vida dos nós (instâncias do Amazon EC2) para clusters do Amazon EKS Kubernetes. Para criar um grupo de nós do Amazon EKS, faça o seguinte:
+ Escolha as Amazon Machine Images (AMI) para seus nós de trabalho de cluster fornecendo o ID da AMI.
+ Forneça um par de chaves do Amazon EC2 para acesso SSH.
+ Certifique-se de que seu grupo de nós esteja associado a um cluster do Amazon EKS.
+ Forneça o tipo de instância e os tamanhos desejados, mínimos e máximos.
+ 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-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
```

## Capacidades
<a name="node-eks-self-managed-node-capabilities"></a><a name="node_eks_self_managed_node_compute"></a>`computação`

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

 `ami_id`    
O ID da AMI usado para iniciar a instância. AWS O TNB oferece suporte a instâncias que utilizam o IMDSv2. Para obter mais informações, consulte [Versão do IMDS](imds-version.md).  
Você pode atualizar o ID da AMI para`EKSSelfManagedNode`. A versão do Amazon EKS da AMI deve ser igual ou até duas versões inferior à versão do cluster do Amazon EKS. Por exemplo, se a versão do cluster Amazon EKS for 1.31, a versão da Amazon EKS AMI deverá ser 1.31, 1.30 ou 1.29.
Obrigatório: Sim  
Tipo: string

 `instance_type`    
O tamanho da instância.  
Obrigatório: Sim  
Tipo: string

 `key_pair`    
O par de chaves do Amazon EC2 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 oferece suporte à criptografia do volume raiz das EBS-backed AMIs da Amazon.
+ 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 AWS Managed Services 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_self_managed_node_scaling"></a>`Em escala`

Propriedades que definem os parâmetros de escalabilidade para os nós autogerenciados do Amazon EKS, como o número desejado de instâncias do Amazon EC2 e os números mínimo e máximo de instâncias do Amazon EC2 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-self-managed-node-properties"></a>

 `node_role`    
O ARN do perfil do IAM anexado à instância do Amazon EC2.  
Obrigatório: Sim  
Tipo: string

 `tags`    
As tags a serem anexadas ao recurso. As tags serão propagadas para as instâncias criadas pelo recurso.  
Obrigatório: não  
Tipo: lista

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

 `cluster`    
Um [AWS. Compute.EKS](node-eks.md)nodo.  
Obrigatório: Sim  
Tipo: string

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

 `network_interfaces`    
Um [AWS. Networking.ENI](node-eni.md)nodo. 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ê define`network_interfaces`, o AWS TNB obtém a permissão relacionada aos ENIs da `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 recebe a permissão relacionada a ENIs da propriedade [node\_role](#node_eks_self_managed_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. Compute.PlacementGroup](node-compute-placement-group.md)nodo.  
Obrigatório: não  
Tipo: string

 `user_data`    
Um [tosca.nodes.AWS. Compute.UserData](node-compute-user-data.md)referência de nó. Um script de dados de usuário é transmitido às instâncias do Amazon EC2 iniciadas pelo grupo de nós autogerenciados. Adicione as permissões necessárias para executar dados de usuário personalizados no node\_role 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-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"
```