REST Resource: projects.locations.awsClusters.awsNodePools

Recurso: AwsNodePool

Um node pool do Anthos em execução no 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)
  },
  "kubeletConfig": {
    object (NodeKubeletConfig)
  },
  "updateSettings": {
    object (UpdateSettings)
  }
}
Campos
name

string

O nome deste recurso.

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

Para ver mais detalhes sobre os nomes de recursos do Google Cloud, consulte o artigo Nomes de recursos

version

string

Obrigatório. A versão do Kubernetes a executar neste node pool (por exemplo, 1.19.10-gke.1000).

Pode listar todas as versões suportadas numa determinada região do Google Cloud chamando locations.getAwsServerConfig.

config

object (AwsNodeConfig)

Obrigatório. A configuração do node pool.

autoscaling

object (AwsNodePoolAutoscaling)

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

subnetId

string

Obrigatório. A sub-rede onde o nó do node pool é executado.

state

enum (State)

Apenas saída. O estado do ciclo de vida do node pool.

uid

string

Apenas saída. Um identificador global exclusivo para o conjunto de nós.

reconciling

boolean

Apenas saída. Se estiver definido, existem atualmente alterações em curso no conjunto de nós.

createTime

string (Timestamp format)

Apenas saída. A hora em que este node pool foi criado.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Apenas saída. A hora em que este node pool foi atualizado pela última vez.

Usa RFC 3339, em que o resultado gerado é sempre normalizado em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Também são aceites desvios diferentes de "Z". Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

etag

string

Permite que os clientes façam leituras-modificações-escritas consistentes através do controlo de concorrência otimista.

Pode ser enviado em pedidos de atualização e eliminação para garantir que o cliente tem um valor atualizado antes de continuar.

annotations

map (key: string, value: string)

Opcional. Anotações no node pool.

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

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

maxPodsConstraint

object (MaxPodsConstraint)

Obrigatório. A restrição no número máximo de pods que podem ser executados em simultâneo num nó no conjunto de nós.

errors[]

object (AwsNodePoolError)

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

management

object (AwsNodeManagement)

Opcional. A configuração de gestão para este node pool.

kubeletConfig

object (NodeKubeletConfig)

Opcional. Configurações do kubelet do nó.

updateSettings

object (UpdateSettings)

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

AwsNodeConfig

Parâmetros que descrevem os nós num 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 quando cria instâncias a pedido.

Se não for especificado durante a criação do conjunto de nós, é escolhida uma predefinição com base na versão do conjunto de nós e atribuída a este campo.

rootVolume

object (AwsVolumeTemplate)

Opcional. Modelo para o volume raiz aprovisionado para nós do conjunto de nós. Os volumes são aprovisionados na zona de disponibilidade atribuída à sub-rede do conjunto de nós.

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

taints[]

object (NodeTaint)

Opcional. As contaminações iniciais atribuídas aos nós deste conjunto de nós.

labels

map (key: string, value: string)

Opcional. As etiquetas iniciais atribuídas aos nós deste conjunto de nós. Um objeto que contém uma lista de pares "chave": valor. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Um objeto que contém 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 atribuir a cada recurso da AWS subjacente. Especifique, no máximo, 50 pares que contenham carateres alfanuméricos, espaços e símbolos (.+-=_:@/). As chaves podem ter até 127 carateres Unicode. Os valores podem ter até 255 carateres Unicode.

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

iamInstanceProfile

string

Obrigatório. O nome ou o ARN do perfil da instância do AWS IAM a atribuir aos nós no conjunto.

imageType

string

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

Quando não é especificado, o valor predefinido é ubuntu.

sshConfig

object (AwsSshConfig)

Opcional. A configuração do SSH.

securityGroupIds[]

string

Opcional. Os IDs de grupos de segurança adicionais a adicionar aos nós neste conjunto. O gestor cria automaticamente grupos de segurança com as regras mínimas necessárias para um cluster funcional.

proxyConfig

object (AwsProxyConfig)

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

configEncryption

object (AwsConfigEncryption)

Obrigatório. Configurar a encriptação para os dados do utilizador.

instancePlacement

object (AwsInstancePlacement)

Opcional. Informações relacionadas com o posicionamento para este nó. Quando não é especificado, é usada a posse predefinida da VPC.

autoscalingMetricsCollection

object (AwsAutoscalingGroupMetricsCollection)

Opcional. Configuração relacionada com a recolha de métricas do CloudWatch no grupo de escala automática do node pool.

Quando não especificado, a recolha de métricas está desativada.

spotConfig

object (SpotConfig)

Opcional. Configuração para o aprovisionamento de instâncias Spot do EC2

Quando especificado, o conjunto de nós aprovisiona instâncias Spot a partir do conjunto de spotConfig.instance_types. Este campo é mutuamente exclusivo com instanceType.

AwsAutoscalingGroupMetricsCollection

Configuração relacionada com a recolha de métricas do CloudWatch num grupo de escala automática da AWS.

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 ativar. Para ver uma lista de métricas válidas, consulte https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html. Se especificar a granularidade e não especificar métricas, todas as métricas são ativadas.

SpotConfig

O SpotConfig tem informações de configuração para o nó Spot.

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

string

Obrigatório. Uma lista de tipos de instâncias para criar um node pool de instâncias de reserva.

AwsNodePoolAutoscaling

AwsNodePoolAutoscaling contém informações necessárias para o dimensionamento automático do cluster para ajustar o tamanho do conjunto de nós à utilização atual do cluster.

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

integer

Obrigatório. Número mínimo de nós no conjunto de nós. Tem de ser igual ou superior a 1 e igual ou inferior a maxNodeCount.

maxNodeCount

integer

Obrigatório. Número máximo de nós no conjunto de nós. Tem de ser igual ou superior a minNodeCount e igual ou inferior a 50.

Estado

O estado do ciclo de vida do node pool.

Enumerações
STATE_UNSPECIFIED Não definido.
PROVISIONING O estado PROVISIONING indica que o node pool está a ser criado.
RUNNING O estado RUNNING indica que o node pool foi criado e está totalmente utilizável.
RECONCILING O estado RECONCILING indica que o node pool está a ser reconciliado.
STOPPING O estado STOPPING indica que o node pool está a ser eliminado.
ERROR O estado ERROR indica que o conjunto de nós está num estado danificado irrecuperável.
DEGRADED O estado DEGRADED indica que o conjunto de nós requer a ação do utilizador para restaurar a funcionalidade completa.

AwsNodePoolError

AwsNodePoolError descreve os erros encontrados em node pools do AWS.

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

string

Descrição do erro de fácil compreensão.

AwsNodeManagement

AwsNodeManagement define o conjunto de funcionalidades de gestão de nós ativadas para um node pool do AWS.

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

boolean

Opcional. Se os nós vão ser reparados automaticamente ou não. Quando definido como verdadeiro, os nós neste conjunto de nós são monitorizados e, se falharem as verificações de estado de funcionamento de forma consistente durante um período, é acionada uma ação de reparação automática para os substituir por novos nós.

NodeKubeletConfig

Configuração das opções do kubelet do node pool.

Representação JSON
{
  "insecureKubeletReadonlyPortEnabled": boolean,
  "cpuManagerPolicy": string,
  "cpuCfsQuota": boolean,
  "cpuCfsQuotaPeriod": string,
  "podPidsLimit": string
}
Campos
insecureKubeletReadonlyPortEnabled

boolean

Opcional. Ative a porta só de leitura do kubelet não segura.

cpuManagerPolicy

string

Opcional. Controlar a política de gestão da CPU no nó. Consulte https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/

Os seguintes valores são permitidos. * "none": a predefinição, que representa o comportamento de agendamento existente. * "static": permite que os pods com determinadas caraterísticas de recursos recebam uma afinidade e uma exclusividade de CPU aumentadas no nó. O valor predefinido é "none" se não for especificado.

cpuCfsQuota

boolean

Opcional. Ativar a aplicação da quota do CFS da CPU para contentores que especificam limites de CPU.

Esta opção está ativada por predefinição, o que faz com que o kubelet use a quota de CFS (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) para aplicar limites de CPU de contentores. Caso contrário, os limites da CPU não são aplicados.

Desative esta opção para mitigar os problemas de limitação da CPU, mantendo os seus pods na classe de QoS garantida, especificando os limites da CPU.

O valor predefinido é "true" se não for especificado.

cpuCfsQuotaPeriod

string

Opcional. Defina o valor do período da quota do CFS da CPU "cpu.cfs_period_us".

A string tem de ser uma sequência de números decimais, cada um com uma fração opcional e um sufixo de unidade, como "300 ms". As unidades de tempo válidas são "ns", "us" (ou "µs"), "ms", "s", "m", "h". O valor tem de ser uma duração positiva.

Se não for especificado, o valor predefinido é "100 ms".

podPidsLimit

string (int64 format)

Opcional. Defina os limites de PID do pod. Consulte https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits

Controla o número máximo de processos permitidos para execução num agrupamento. O valor tem de ser igual ou superior a 1024 e inferior a 4194304.

UpdateSettings

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

Estas definições são aplicáveis quando a atualização do node pool requer a substituição dos nós do node pool existentes pelos atualizados.

UpdateSettings são opcionais. Quando não são especificadas UpdateSettings durante a criação do conjunto de nós, é escolhida uma predefinição com base na versão do cluster principal. Para clusters com a versão secundária 1.27 e posteriores, é usada uma configuração surgeSettings predefinida com maxSurge = 1 e maxUnavailable = 0. Para clusters com versões mais antigas, as atualizações do conjunto de nós usam o mecanismo de atualização contínua tradicional de atualização de um nó de cada vez de forma "terminar antes de criar" e updateSettings não é aplicável.

Defina o parâmetro surgeSettings para usar o mecanismo de atualização rápida para a atualização contínua dos nós do conjunto de nós. 1. maxSurge controla o número de nós adicionais que podem ser criados temporariamente além do tamanho atual do conjunto de nós durante a atualização para aumentar o número de nós disponíveis. 2. maxUnavailable controla o número de nós que podem estar simultaneamente indisponíveis durante a atualização. 3. (maxSurge + maxUnavailable) determina o nível de paralelismo (ou seja, o número de nós que estão a ser atualizados em simultâneo).

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

object (SurgeSettings)

Opcional. Definições para a atualização rápida.

SurgeSettings

SurgeSettings contém os parâmetros para a atualização do aumento repentino.

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 conjunto de nós durante o processo de atualização.

maxUnavailable

integer

Opcional. O número máximo de nós que podem estar simultaneamente indisponíveis durante o processo de atualização. Um nó é considerado indisponível se o respetivo estado não for Pronto.

Métodos

create
(deprecated)

Cria um novo AwsNodePool, anexado a um determinado AwsCluster.

delete
(deprecated)

Elimina um recurso AwsNodePool específico.

get
(deprecated)

Descreve um recurso AwsNodePool específico.

list
(deprecated)

Lista todos os recursos AwsNodePool num determinado AwsCluster.

patch
(deprecated)

Atualiza um AwsNodePool.

rollback
(deprecated)

Reverte um pedido de atualização AwsNodePool que foi anulado ou falhou anteriormente.