REST Resource: projects.locations.awsClusters.awsNodePools

Recurso: AwsNodePool

Un grupo de nodos de Anthos que se ejecuta en AWS.

Representación 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

El nombre de este recurso.

Los nombres de los grupos de nodos tienen el formato projects/<project-number>/locations/<region>/awsClusters/<cluster-id>/awsNodePools/<node-pool-id>.

Para obtener más detalles sobre los nombres de recursos de Google Cloud, consulta Nombres de recursos.

version

string

Obligatorio. Es la versión de Kubernetes que se ejecutará en este grupo de nodos (p. ej., 1.19.10-gke.1000).

Puedes enumerar todas las versiones compatibles en una región de Google Cloud determinada mediante una llamada a locations.getAwsServerConfig.

config

object (AwsNodeConfig)

Obligatorio. La configuración del grupo de nodos.

autoscaling

object (AwsNodePoolAutoscaling)

Obligatorio. Configuración del escalador automático para este grupo de nodos.

subnetId

string

Obligatorio. La subred en la que se ejecuta el nodo del grupo de nodos.

state

enum (State)

Solo salida. El estado del ciclo de vida del grupo de nodos.

uid

string

Solo salida. Un identificador único a nivel global para el grupo de nodos.

reconciling

boolean

Solo salida. Si se configura, actualmente hay cambios en tránsito en el grupo de nodos.

createTime

string (Timestamp format)

Solo salida. La hora a la que se creó este grupo de nodos.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo salida. La hora en la que se actualizó este clúster por última vez.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

etag

string

Permite a los clientes realizar operaciones de lectura, modificación y escritura coherentes a través del control de simultaneidad optimista.

Se pueden enviar en las solicitudes de actualización y eliminación para garantizar que el cliente tenga un valor actualizado antes de continuar.

annotations

map (key: string, value: string)

Opcional. Anotaciones en el grupo de nodos.

Este campo tiene las mismas restricciones que las anotaciones de Kubernetes. El tamaño total de todas las claves y valores combinados se limita a 256,000. La clave puede tener 2 segmentos: prefijo (opcional) y nombre (obligatorio), separados por una barra diagonal (/). El prefijo debe ser un subdominio DNS. El nombre debe tener 63 caracteres o menos, comenzar y terminar con caracteres alfanuméricos, con guiones (-), guiones bajos (_), puntos (.) y caracteres alfanuméricos en el medio.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

maxPodsConstraint

object (MaxPodsConstraint)

Obligatorio. La restricción sobre la cantidad máxima de Pods que se pueden ejecutar simultáneamente en un nodo del grupo de nodos.

errors[]

object (AwsNodePoolError)

Solo salida. Un conjunto de errores encontrados en el grupo de nodos.

management

object (AwsNodeManagement)

Opcional. La configuración de administración para este grupo de nodos.

updateSettings

object (UpdateSettings)

Opcional. La configuración de la actualización controla la velocidad y la interrupción de la actualización.

AwsNodeConfig

Parámetros que describen los nodos de un clúster.

Representación 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. El tipo de instancia de EC2 cuando se crean instancias bajo demanda.

Si no se especifica durante la creación del grupo de nodos, se elegirá uno predeterminado en función de la versión del grupo de nodos y se asignará a este campo.

rootVolume

object (AwsVolumeTemplate)

Opcional. Plantilla del volumen raíz aprovisionado para los nodos del grupo de nodos. Los volúmenes se aprovisionarán en la zona de disponibilidad asignada a la subred del grupo de nodos.

Cuando no se especifica, el valor predeterminado es 32 GiB con el tipo de volumen GP2.

taints[]

object (NodeTaint)

Opcional. Son los taints iniciales asignados a los nodos de este grupo de nodos.

labels

map (key: string, value: string)

Opcional. Son las etiquetas iniciales asignadas a los nodos de este grupo de nodos. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

tags

map (key: string, value: string)

Opcional. Metadatos de clave-valor para asignar a cada recurso de AWS subyacente. Especifica 50 pares como máximo que contengan caracteres alfanuméricos, espacios y símbolos (.+-=_:@/). Las claves pueden tener hasta 127 caracteres Unicode. Los valores pueden tener hasta 255 caracteres Unicode.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

iamInstanceProfile

string

Obligatorio. El nombre o ARN del perfil de la instancia de IAM de AWS que se asignará a los nodos del grupo.

imageType

string

Opcional. El tipo de imagen de SO que se usará en instancias de grupos de nodos. Puede no especificarse o tener un valor de ubuntu.

Cuando no se especifica, el valor predeterminado es ubuntu.

sshConfig

object (AwsSshConfig)

Opcional. La configuración de SSH.

securityGroupIds[]

string

Opcional. Son los ID de los grupos de seguridad adicionales que se agregarán a los nodos en este grupo. El administrador creará automáticamente grupos de seguridad con reglas mínimas necesarias para un clúster en funcionamiento.

proxyConfig

object (AwsProxyConfig)

Opcional. Configuración de proxy para el tráfico HTTP(S) saliente.

configEncryption

object (AwsConfigEncryption)

Obligatorio. Encriptación de la configuración para datos del usuario.

instancePlacement

object (AwsInstancePlacement)

Opcional. Información relacionada con la posición de este nodo. Si no se especifica, se usará el usuario predeterminado de la VPC.

autoscalingMetricsCollection

object (AwsAutoscalingGroupMetricsCollection)

Opcional. Configuración relacionada con la recopilación de métricas de CloudWatch en el grupo de ajuste de escala automático del grupo de nodos.

Si no se especifica, se inhabilita la recopilación de métricas.

spotConfig

object (SpotConfig)

Opcional. Configuración para aprovisionar instancias Spot de EC2

Cuando se especifica, el grupo de nodos aprovisionará instancias Spot del conjunto de spotConfig.instance_types. Este campo es mutuamente exclusivo con instanceType.

AwsAutoscalingGroupMetricsCollection

Configuración relacionada con la recopilación de métricas de CloudWatch en un grupo de AWS Auto Scaling.

Representación JSON
{
  "granularity": string,
  "metrics": [
    string
  ]
}
Campos
granularity

string

Obligatorio. La frecuencia con la que el ajuste de escala automático de EC2 envía datos agregados a CloudWatch de AWS. El único valor válido es "1Minute".

metrics[]

string

Opcional. Las métricas que se habilitarán. Para obtener una lista de métricas válidas, consulta https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_EnableMetricsCollection.html. Si especificas el nivel de detalle y no especificas ninguna métrica, todas las métricas se habilitarán.

SpotConfig

SpotConfig tiene información de configuración del nodo Spot.

Representación JSON
{
  "instanceTypes": [
    string
  ]
}
Campos
instanceTypes[]

string

Obligatorio. Una lista de tipos de instancias para crear un grupo de nodos spot.

AwsNodePoolAutoscaling

AwsNodePoolAutoscaling contiene información que requiere el escalador automático de clústeres para ajustar el tamaño del grupo de nodos al uso actual del clúster.

Representación JSON
{
  "minNodeCount": integer,
  "maxNodeCount": integer
}
Campos
minNodeCount

integer

Obligatorio. Cantidad mínima de nodos en el grupo de nodos. Debe ser mayor o igual que 1 y menor o igual que maxNodeCount.

maxNodeCount

integer

Obligatorio. Cantidad máxima de nodos en el grupo de nodos. Debe ser mayor o igual que minNodeCount y menor o igual que 50.

Estado

El estado del ciclo de vida del grupo de nodos.

Enums
STATE_UNSPECIFIED Sin establecer
PROVISIONING El estado PROVISIONING indica que se está creando el grupo de nodos.
RUNNING El estado EN EJECUCIÓN indica que el grupo de nodos se creó y se puede usar por completo.
RECONCILING El estado RECONCILING indica que el grupo de nodos se está conciliando.
STOPPING El estado STOPPING indica que se está borrando el grupo de nodos.
ERROR El estado ERROR indica que el grupo de nodos se encuentra en un estado irrecuperable dañado.
DEGRADED El estado DEGRADED indica que el grupo de nodos requiere una acción del usuario para restablecer la funcionalidad completa.

AwsNodePoolError

AwsNodePoolError describe los errores encontrados en los grupos de nodos de AWS.

Representación JSON
{
  "message": string
}
Campos
message

string

Descripción sencilla del error.

AwsNodeManagement

AwsNodeManagement define el conjunto de funciones de administración de nodos activadas para un grupo de nodos de AWS.

Representación JSON
{
  "autoRepair": boolean
}
Campos
autoRepair

boolean

Opcional. Indica si los nodos se repararán de forma automática o no. Cuando se configura como verdadero, los nodos de este grupo de nodos se supervisan y, si fallan las verificaciones de estado de forma constante durante un período, se activará una acción de reparación automática para reemplazarlos por nodos nuevos.

Actualizar configuración

UpdateSettings controla el nivel de paralelismo y el nivel de interrupción causado durante la actualización de un grupo de nodos.

Esta configuración se aplica cuando la actualización del grupo de nodos requiere reemplazar los nodos existentes del grupo de nodos por los actualizados.

UpdateSettings es opcional. Cuando no se especifica UpdateSettings durante la creación del grupo de nodos, se elige una configuración predeterminada según la versión del clúster superior. Para los clústeres con una versión secundaria 1.27 y posteriores, se usa una configuración predeterminada de surgeSettings con maxSurge = 1 y maxUnavailable = 0. Para los clústeres con versiones previas, las actualizaciones de grupos de nodos usan el mecanismo de actualización progresiva tradicional de actualizar un nodo a la vez en forma de “finalizar antes de crear” y updateSettings no es aplicable.

Establece el parámetro aumentoSettings a fin de usar el mecanismo de actualización de aumento para la actualización progresiva de los nodos del grupo de nodos. 1. maxSurge controla la cantidad de nodos adicionales que se pueden crear más allá del tamaño actual del grupo de nodos de manera temporal durante la actualización para aumentar la cantidad de nodos disponibles. 2. maxUnavailable controla la cantidad de nodos que pueden no estar disponibles de forma simultánea durante la actualización. 3. (maxSurge + maxUnavailable) determina el nivel de paralelismo (es decir, la cantidad de nodos que se actualizan al mismo tiempo).

Representación JSON
{
  "surgeSettings": {
    object (SurgeSettings)
  }
}
Campos
surgeSettings

object (SurgeSettings)

Opcional. Configuración para la actualización de aumento.

SurgeSettings

SurgeSettings contiene los parámetros para la actualización de aumento.

Representación JSON
{
  "maxSurge": integer,
  "maxUnavailable": integer
}
Campos
maxSurge

integer

Opcional. La cantidad máxima de nodos que se pueden crear más allá del tamaño actual del grupo de nodos durante el proceso de actualización.

maxUnavailable

integer

Opcional. La cantidad máxima de nodos que pueden no estar disponibles de forma simultánea durante el proceso de actualización. Un nodo se considera no disponible si su estado es distinto de Ready.

Métodos

create

Crea un AwsNodePool nuevo, conectado a un AwsCluster determinado.

delete

Elimina un recurso AwsNodePool específico.

get

Describe un recurso AwsNodePool específico.

list

Enumera todos los recursos AwsNodePool en una AwsCluster determinada.

patch

Actualiza un AwsNodePool.

rollback

Revierte una solicitud de actualización AwsNodePool anulada o con errores.