AWS.Computação. EKSManagedNodo - AWS Construtor de rede Telco

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

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 do 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

tosca.nodes.AWS.Compute.EKSManagedNode: capabilities: compute: properties: ami_type: String ami_id: String instance_types: List key_pair: String root_volume_encryption: Boolean root_volume_encryption_key_arn: String scaling: properties: desired_size: Integer min_size: Integer max_size: Integer properties: node_role: String tags: List kubernetes_version: String requirements: cluster: String subnets: List network_interfaces: List security_groups: List placement_group: String user_data: String labels: List

Capacidades

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 | AL2_x86_64_GPU | AL2_ARM_64 | CUSTOM | BOTTLEROCKET_ARM_64 | BOTTLEROCKET_x86_64 | BOTTLEROCKET_ARM_64_NVIDIA | BOTTLEROCKET_x86_64_NVIDIA

ami_id

O ID da AMI.

Obrigatório: não

Tipo: string

nota

Se ambos ami_type ami_id forem especificados no modelo, o AWS TNB usará somente o ami_id valor para criarEKSManagedNode.

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

nota
  • Se root_volume_encryption for falso, não incluaroot_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 incluirroot_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 descriptografa uma AMI criptografada.

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

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.23 a 1.30 do Kubernetes. Considere o seguinte:

  • Especifique o kubernetes_version ouami_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,23 | 1,24 | 1,25 | 1,26 | 1,27 | 1,28 | 1,29 | 1,30

Requisitos

cluster

Um nó AWS.Compute.EKS.

Obrigatório: Sim

Tipo: String

subnets

Um nó AWS.Networking.Subnet.

Obrigatório: sim

Tipo: lista

network_interfaces

Um nó AWS.Networking.ENI. 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ê configuranetwork_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. Caso contrário, o AWS TNB obterá a permissão relacionada à propriedade ENIs node_role.

Obrigatório: não

Tipo: lista

security_groups

Um AWS.Networking. SecurityGroupnodo.

Obrigatório: não

Tipo: lista

placement_group

Um tosca.nodes.AWS.Computação. PlacementGroupnodo.

Obrigatório: não

Tipo: string

user_data

Um tosca.nodes.AWS.Computação. UserDatareferê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_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

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" 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"