REST Resource: projects.locations.awsClusters.awsNodePools

Recurso: AwsNodePool

Um pool de nós do Anthos em execução na AWS.

Representação JSON
{
  "name": string,
  "version": string,
  "config": {
    object (AwsNodeConfig)
  },
  "autoscaling": {
    object (AwsNodePoolAutoscaling)
  },
  "subnetId": string,
  "state": enum (State),
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "maxPodsConstraint": {
    object (MaxPodsConstraint)
  },
  "errors": [
    {
      object (AwsNodePoolError)
    }
  ],
  "management": {
    object (AwsNodeManagement)
  },
  "updateSettings": {
    object (UpdateSettings)
  }
}
Campos
name

string

O nome desse recurso.

Os nomes dos pools de nós são formatados como projects/<project-number>/locations/<region>/awsClusters/<cluster-id>/awsNodePools/<node-pool-id>.

Para mais detalhes sobre nomes de recursos do Google Cloud, consulte este link.

version

string

Obrigatório. A versão do Kubernetes a ser executada nesse pool de nós (por exemplo, 1.19.10-gke.1000).

É possível listar todas as versões compatíveis em uma determinada região do Google Cloud chamando locations.getAwsServerConfig.

config

object (AwsNodeConfig)

Obrigatório. A configuração do pool de nós.

autoscaling

object (AwsNodePoolAutoscaling)

Obrigatório. Configuração do escalonador automático para este pool de nós.

subnetId

string

Obrigatório. A sub-rede em que o nó do pool de nós é executado.

state

enum (State)

Apenas saída. O ciclo de vida atual do pool de nós.

uid

string

Apenas saída. Um identificador globalmente exclusivo para o pool de nós.

reconciling

boolean

Apenas saída. Se definido, há mudanças em andamento no pool de nós.

createTime

string (Timestamp format)

Apenas saída. A hora em que este pool de nós foi criado.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Apenas saída. A hora em que este pool de nós foi atualizado pela última vez.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

etag

string

Permite que os clientes realizem leituras e modificações da gravação consistentes por meio do controle otimista de simultaneidade.

Pode ser enviado em solicitações de atualização e exclusão para garantir que o cliente tenha um valor atualizado antes de prosseguir.

annotations

map (key: string, value: string)

Opcional. Anotações no pool de nós.

Este campo tem as mesmas restrições que as anotações do Kubernetes. O tamanho total de todas as chaves e valores combinados é limitado a 256 mil. A chave pode ter dois segmentos: prefixo (opcional) e nome (obrigatório), separados por uma barra (/). O prefixo precisa ser um subdomínio DNS. O nome deve ter 63 caracteres ou menos, começar e terminar com caracteres alfanuméricos, com traços (-), sublinhados (_), pontos (.) e caracteres alfanuméricos entre eles.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

maxPodsConstraint

object (MaxPodsConstraint)

Obrigatório. A restrição sobre o número máximo de pods que podem ser executados simultaneamente em um nó no pool de nós.

errors[]

object (AwsNodePoolError)

Apenas saída. Um conjunto de erros encontrado no pool de nós.

management

object (AwsNodeManagement)

Opcional. A configuração de gerenciamento desse pool de nós.

updateSettings

object (UpdateSettings)

Opcional. As configurações de atualização controlam a velocidade e a interrupção da atualização.

AwsNodeConfig

Parâmetros que descrevem os nós em um cluster.

Representação JSON
{
  "instanceType": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "taints": [
    {
      object (NodeTaint)
    }
  ],
  "labels": {
    string: string,
    ...
  },
  "tags": {
    string: string,
    ...
  },
  "iamInstanceProfile": string,
  "imageType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "securityGroupIds": [
    string
  ],
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  },
  "autoscalingMetricsCollection": {
    object (AwsAutoscalingGroupMetricsCollection)
  },
  "spotConfig": {
    object (SpotConfig)
  }
}
Campos
instanceType

string

Opcional. O tipo de instância EC2 ao criar instâncias por demanda.

Se não for especificado durante a criação do pool de nós, um padrão será escolhido com base na versão do pool de nós e atribuído a esse campo.

rootVolume

object (AwsVolumeTemplate)

Opcional. Modelo do volume raiz provisionado para os nós do pool de nós. Os volumes serão provisionados na zona de disponibilidade atribuída à sub-rede do pool de nós.

Quando não especificado, o padrão é 32 GiB com o tipo de volume GP2.

taints[]

object (NodeTaint)

Opcional. Os taints iniciais atribuídos aos nós deste pool.

labels

map (key: string, value: string)

Opcional. Os identificadores iniciais atribuídos aos nós deste pool. Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tags

map (key: string, value: string)

Opcional. Metadados de chave-valor a serem atribuídos a cada recurso subjacente da AWS. Especifique no máximo 50 pares contendo caracteres alfanuméricos, espaços e símbolos (.+-=_:@/). As chaves podem ter até 127 caracteres Unicode. Os valores podem ter até 255 caracteres Unicode.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

iamInstanceProfile

string

Obrigatório. O nome ou ARN do perfil da instância do IAM da AWS a ser atribuído aos nós no pool.

imageType

string

Opcional. O tipo de imagem do SO a ser usado nas instâncias do pool de nós. Pode não ser especificado ou ter um valor ubuntu.

Quando não especificado, o padrão é ubuntu.

sshConfig

object (AwsSshConfig)

Opcional. A configuração do SSH.

securityGroupIds[]

string

Opcional. Os códigos de grupos de segurança extras a serem adicionados aos nós neste pool. O gerente vai criar automaticamente grupos de segurança com regras mínimas necessárias para um cluster em funcionamento.

proxyConfig

object (AwsProxyConfig)

Opcional. Configuração de proxy para o tráfego de saída HTTP(S).

configEncryption

object (AwsConfigEncryption)

Obrigatório. Criptografia de configuração para dados do usuário.

instancePlacement

object (AwsInstancePlacement)

Opcional. Informações relacionadas ao posicionamento desse nó. Quando não especificado, o locatário padrão da VPC será usado.

autoscalingMetricsCollection

object (AwsAutoscalingGroupMetricsCollection)

Opcional. Configuração relacionada à coleta de métricas do CloudWatch no grupo de escalonamento automático do pool de nós.

Quando não for especificada, a coleta de métricas será desativada.

spotConfig

object (SpotConfig)

Opcional. Configuração para provisionar instâncias spot do EC2

Quando especificado, o pool de nós provisionará instâncias spot do conjunto de spotConfig.instance_types. Esse campo é mutuamente exclusivo com instanceType.

AwsAutoscalingGroupMetricsCollection

Configuração relacionada à coleta de métricas do CloudWatch em um grupo do AWS Auto Scaling.

Representação JSON
{
  "granularity": string,
  "metrics": [
    string
  ]
}
Campos
granularity

string

Obrigatório. A frequência com que o EC2 Auto Scaling envia dados agregados para o AWS CloudWatch. O único valor válido é "1Minute".

metrics[]

string

Opcional. As métricas a serem ativadas. Para ver uma lista de métricas válidas, consulte https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html (em inglês). Se você especificar a granularidade e não especificar alguma métrica, todas as métricas serão ativadas.

SpotConfig

O SpotConfig tem informações de configuração sobre o nó spot.

Representação JSON
{
  "instanceTypes": [
    string
  ]
}
Campos
instanceTypes[]

string

Obrigatório. Uma lista de tipos de instância para criar um pool de nós spot.

AwsNodePoolAutoscaling

AwsNodePoolAutoscaling contém informações exigidas pelo escalonador automático de cluster para ajustar o tamanho do pool de nós de acordo com o uso atual do cluster.

Representação JSON
{
  "minNodeCount": integer,
  "maxNodeCount": integer
}
Campos
minNodeCount

integer

Obrigatório. O número mínimo de nós no pool. Precisa ser maior ou igual a 1 e menor ou igual a maxNodeCount.

maxNodeCount

integer

Obrigatório. O número máximo de nós no pool. Precisa ser maior ou igual a minNodeCount e menor ou igual a 50.

Estado

O ciclo de vida atual do pool de nós.

Tipos enumerados
STATE_UNSPECIFIED Não definido
PROVISIONING O estado PROVISIONING indica que o pool de nós está sendo criado.
RUNNING O estado RUNNING indica que o pool de nós foi criado e é totalmente utilizável.
RECONCILING O estado RECONCILING indica que o pool de nós está sendo reconciliado.
STOPPING O estado STOPPING indica que o pool de nós está sendo excluído.
ERROR O estado ERROR indica que o pool de nós está corrompido e irrecuperável.
DEGRADED O estado DEGRADED indica que o pool de nós exige uma ação do usuário para restaurar a funcionalidade completa.

AwsNodePoolError

AwsNodePoolError descreve os erros encontrados nos pools de nós da AWS.

Representação JSON
{
  "message": string
}
Campos
message

string

Descrição do erro legível por humanos.

AwsNodeManagement

AwsNodeManagement define o conjunto de recursos de gerenciamento de nós ativados para um pool de nós da AWS.

Representação JSON
{
  "autoRepair": boolean
}
Campos
autoRepair

boolean

Opcional. Define se os nós serão ou não reparados automaticamente. Quando está definido como verdadeiro, os nós nesse pool de nós são monitorados. Se eles falharem de forma consistente nas verificações de integridade durante um período, uma ação de reparo automático será acionada para substituí-los por novos nós.

UpdateSettings

UpdateSettings controlam o nível de paralelismo e o nível de interrupção causados durante a atualização de um pool de nós.

Essas configurações são aplicáveis quando a atualização do pool de nós exige a substituição dos nós do pool de nós atuais pelos nós atualizados.

UpdateSettings são opcionais. Quando UpdateSettings não são especificados durante a criação do pool de nós, um padrão é escolhido com base na versão do cluster pai. Para clusters com a versão secundária 1.27 e mais recente, é usada uma configuração padrão de surgeSettings com maxSurge = 1 e maxUnavailable = 0. Para clusters com versões mais antigas, as atualizações do pool de nós usam o mecanismo tradicional de atualização gradual que atualiza um nó por vez no modo "encerrar antes de criar", e updateSettings não é relevante.

Defina o parâmetro surgeSettings para usar o mecanismo de atualização súbita para a atualização gradual dos nós do pool de nós. 1. maxSurge controla temporariamente o número de nós adicionais que podem ser criados além do tamanho atual do pool de nós durante o período da atualização para aumentar o número de nós disponíveis. 2. maxUnavailable controla o número de nós que podem ficar indisponíveis simultaneamente durante a atualização. 3. (maxSurge + maxUnavailable) determina o nível de paralelismo (ou seja, o número de nós que estão sendo atualizados ao mesmo tempo).

Representação JSON
{
  "surgeSettings": {
    object (SurgeSettings)
  }
}
Campos
surgeSettings

object (SurgeSettings)

Opcional. Configurações para atualização súbita.

SurgeSettings

SurgeSettings contém os parâmetros de atualização súbita.

Representação JSON
{
  "maxSurge": integer,
  "maxUnavailable": integer
}
Campos
maxSurge

integer

Opcional. O número máximo de nós que podem ser criados além do tamanho atual do pool de nós durante o processo de atualização.

maxUnavailable

integer

Opcional. O número máximo de nós que podem estar indisponíveis simultaneamente durante o processo de atualização. Um nó é considerado indisponível quando o status não é "Ready".

Métodos

create

Cria um novo AwsNodePool, anexado a um determinado AwsCluster.

delete

Exclui um recurso AwsNodePool específico.

get

Descreve um recurso AwsNodePool específico.

list

Lista todos os recursos AwsNodePool em um determinado AwsCluster.

patch

Atualiza um AwsNodePool.

rollback

Reverte uma solicitação de atualização do AwsNodePool cancelada ou que falhou.