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 oami_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 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 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
ouami_id
for especificado, o AWS TNB usará a AMI mais recente daAWS.Compute.EKSManagedNode
versão para criarEKSManagedNode
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ê configura
network_interfaces
, o AWS TNB obtém a permissão relacionada à ENIsmultus_role
propriedade se você incluiu amultus
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"