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)
  },
  "kubeletConfig": {
    object (NodeKubeletConfig)
  },
  "updateSettings": {
    object (UpdateSettings)
  }
}
Campos
name

string

O nome deste 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 obter mais detalhes sobre os nomes dos recursos do Google Cloud, consulte Nomes de recursos

version

string

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

Você pode listar todas as versões suportadas 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 autoescalador para este pool de nós.

subnet Id

string

Obrigatório. A sub-rede onde o pool de nós é executado.

state

enum ( State )

Somente saída. O estado do ciclo de vida do pool de nós.

uid

string

Somente saída. Um identificador global exclusivo para o pool de nós.

reconciling

boolean

Somente saída. Se definido, há alterações em andamento no pool de nós.

create Time

string ( Timestamp format)

Somente saída. O horário em que este pool de nós foi criado.

Utiliza RFC 3339, onde a saída gerada será sempre normalizada em Z e usará 0, 3, 6 ou 9 dígitos fracionários. Deslocamentos diferentes de "Z" também são aceitos. Exemplos: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30" .

update Time

string ( Timestamp format)

Somente saída. Horário em que este pool de nós foi atualizado pela última vez.

Utiliza RFC 3339, onde a saída gerada será sempre normalizada em Z e usará 0, 3, 6 ou 9 dígitos fracionários. Deslocamentos diferentes de "Z" também são aceitos. 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 realizem leituras, modificações e gravações consistentes por meio do controle de simultaneidade otimista.

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 das anotações do Kubernetes. O tamanho total de todas as chaves e valores combinados é limitado a 256k. A chave pode ter 2 segmentos: prefixo (opcional) e nome (obrigatório), separados por uma barra (/). O prefixo deve 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 contendo uma lista de pares "key": value . Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

max Pods Constraint

object ( MaxPodsConstraint )

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

errors[]

object ( AwsNodePoolError )

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

management

object ( AwsNodeManagement )

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

kubelet Config

object ( NodeKubeletConfig )

Opcional. Configurações do Node Kubelet.

update Settings

object ( UpdateSettings )

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

Configuração do AWSNode

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
instance Type

string

Opcional. O tipo de instância do EC2 ao criar instâncias sob 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 este campo.

root Volume

object ( AwsVolumeTemplate )

Opcional. Modelo para o volume raiz provisionado para 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. As contaminações iniciais atribuídas aos nós deste pool de nós.

labels

map (key: string, value: string)

Opcional. Os rótulos iniciais atribuídos aos nós deste conjunto de nós. Um objeto contendo uma lista de pares "chave":valor. Exemplo: { "nome": "chave inglesa", "massa": "1,3 kg", "contagem": "3" }.

Um objeto contendo 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 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 contendo uma lista de pares "key": value . Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

iam Instance Profile

string

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

image Type

string

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

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

ssh Config

object ( AwsSshConfig )

Opcional. A configuração SSH.

security Group Ids[]

string

Opcional. Os IDs de grupos de segurança adicionais a serem adicionados aos nós neste pool. O gerenciador criará automaticamente grupos de segurança com as regras mínimas necessárias para um cluster funcional.

proxy Config

object ( AwsProxyConfig )

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

config Encryption

object ( AwsConfigEncryption )

Obrigatório. Configure a criptografia para dados do usuário.

instance Placement

object ( AwsInstancePlacement )

Opcional. Informações relacionadas ao posicionamento deste nó. Quando não especificado, a locação padrão da VPC será usada.

autoscaling Metrics Collection

object ( AwsAutoscalingGroupMetricsCollection )

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

Quando não especificado, a coleta de métricas é desabilitada.

spot Config

object ( SpotConfig )

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

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

Coleção de métricas de grupo de dimensionamento automático da AWS

Configuração relacionada à coleta de métricas do CloudWatch em um grupo de dimensionamento automático 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 é "1Minuto".

metrics[]

string

Opcional. As métricas a serem habilitadas. Para obter uma lista de métricas válidas, consulte https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html . Se você especificar Granularidade e não especificar nenhuma métrica, todas as métricas serão habilitadas.

Configuração Spot

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

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

string

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

Dimensionamento automático do AwsNodePool

AwsNodePoolAutoscaling contém informações necessárias para que o dimensionador automático do cluster ajuste o tamanho do pool de nós ao uso atual do cluster.

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

integer

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

max Node Count

integer

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

Estado

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

Enumerações
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 está 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á em um estado quebrado e irrecuperável.
DEGRADED O estado DEGRADADO indica que o pool de nós requer ação do usuário para restaurar a funcionalidade completa.

Erro AwsNodePool

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

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

string

Descrição do erro de forma amigável.

Gerenciamento de nós da AWS

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
auto Repair

boolean

Opcional. Se os nós serão reparados automaticamente ou não. Quando definido como verdadeiro, os nós neste pool de nós serão monitorados e, se falharem nas verificações de integridade consistentemente ao longo de um período, uma ação de reparo automática será acionada para substituí-los por novos nós.

Configuração do NodeKubelet

Configuração para opções de kubelet do pool de nós.

Representação JSON
{
  "insecureKubeletReadonlyPortEnabled": boolean,
  "cpuManagerPolicy": string,
  "cpuCfsQuota": boolean,
  "cpuCfsQuotaPeriod": string,
  "podPidsLimit": string
}
Campos
insecure Kubelet Readonly Port Enabled

boolean

Opcional. Habilite a porta insegura somente leitura do kubelet.

cpu Manager Policy

string

Opcional. Controle a política de gerenciamento de CPU no nó. Consulte https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/

Os seguintes valores são permitidos. * "none": o padrão, que representa o comportamento de agendamento existente. * "static": permite que pods com determinadas características de recursos recebam maior afinidade de CPU e exclusividade no nó. O valor padrão é "none" se não for especificado.

cpu Cfs Quota

boolean

Opcional. Habilite a aplicação de cota de CPU CFS para contêineres que especificam limites de CPU.

Esta opção está habilitada por padrão, o que faz com que o Kubelet utilize a cota CFS ( https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt ) para impor os limites de CPU do contêiner. Caso contrário, os limites de CPU não serão aplicados.

Desabilite esta opção para atenuar problemas de limitação da CPU e ainda manter seus pods na classe QoS garantida, especificando os limites da CPU.

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

cpu Cfs Quota Period

string

Opcional. Defina o valor do período de cota do CPU CFS como 'cpu.cfs_period_us'.

A string deve 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" e "h". O valor deve ser uma duração positiva.

O valor padrão é '100 ms' se não for especificado.

pod Pids Limit

string ( int64 format)

Opcional. Defina os limites do 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 em um pod. O valor deve ser maior ou igual a 1024 e menor que 4194304.

Atualizar configurações

UpdateSettings controla o nível de paralelismo e o nível de interrupção causado 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 requer a substituição dos nós existentes do pool de nós pelos 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 versão secundária 1.27 e posteriores, é usada uma configuração padrão 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 contínua, que atualiza um nó por vez no modo "encerrar antes de criar", e updateSettings não é aplicável.

Defina o parâmetro surgeSettings para usar o mecanismo Surge Update para a atualização contínua dos nós do pool de nós. 1. maxSurge controla o número de nós adicionais que podem ser criados além do tamanho atual do pool de nós temporariamente 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 sendo atualizados ao mesmo tempo).

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

object ( SurgeSettings )

Opcional. Configurações para atualização de pico.

Configurações de Surge

SurgeSettings contém os parâmetros para atualização do Surge.

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

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.

max Unavailable

integer

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

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 AwsNodePool que falhou ou foi abortada anteriormente.