REST Resource: projects.locations.awsClusters

Recurso: AwsCluster

Un clúster de Anthos que se ejecuta en AWS.

Representación JSON
{
  "name": string,
  "description": string,
  "networking": {
    object (AwsClusterNetworking)
  },
  "awsRegion": string,
  "controlPlane": {
    object (AwsControlPlane)
  },
  "authorization": {
    object (AwsAuthorization)
  },
  "state": enum (State),
  "endpoint": string,
  "uid": string,
  "reconciling": boolean,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "annotations": {
    string: string,
    ...
  },
  "workloadIdentityConfig": {
    object (WorkloadIdentityConfig)
  },
  "clusterCaCertificate": string,
  "fleet": {
    object (Fleet)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "errors": [
    {
      object (AwsClusterError)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  },
  "binaryAuthorization": {
    object (BinaryAuthorization)
  }
}
Campos
name

string

El nombre de este recurso.

Los nombres de los clústeres tienen el formato projects/<project-number>/locations/<region>/awsClusters/<cluster-id>.

Consulte Nombres de recursos para obtener más detalles sobre los nombres de recursos de Google Cloud Platform.

description

string

Opcional. Una descripción legible por humanos de este clúster. No puedes tener más de 255 bytes con codificación UTF-8.

networking

object (AwsClusterNetworking)

Obligatorio. Configuración de herramientas de redes de todo el clúster.

awsRegion

string

Obligatorio. La región de AWS en la que se ejecuta el clúster.

Cada región de Google Cloud admite un subconjunto de regiones de AWS cercanas. Puedes llamar a locations.getAwsServerConfig para obtener una lista de todas las regiones de AWS compatibles dentro de una región de Google Cloud determinada.

controlPlane

object (AwsControlPlane)

Obligatorio. Configuración relacionada con el plano de control del clúster.

authorization

object (AwsAuthorization)

Obligatorio. Configuración relacionada con la configuración de RBAC del clúster.

state

enum (State)

Solo salida. El estado actual del clúster.

endpoint

string

Solo salida. El extremo del servidor de APIs del clúster.

uid

string

Solo salida. Un identificador global único para el clúster.

reconciling

boolean

Solo salida. Si se configura, actualmente hay cambios en tránsito en el clúster.

createTime

string (Timestamp format)

Solo salida. El momento en el que se creó este clúster.

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 clúster.

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" }.

workloadIdentityConfig

object (WorkloadIdentityConfig)

Solo salida. Configuración de Workload Identity.

clusterCaCertificate

string

Solo salida. Certificado x509 codificado con PEM de la raíz de confianza del clúster.

fleet

object (Fleet)

Obligatorio. Configuración de la flota.

loggingConfig

object (LoggingConfig)

Opcional. Configuración de registro para este clúster.

errors[]

object (AwsClusterError)

Solo salida. Un conjunto de errores encontrados en el clúster.

monitoringConfig

object (MonitoringConfig)

Opcional. Configuración de supervisión para este clúster.

binaryAuthorization

object (BinaryAuthorization)

Opcional. Configuración de autorización binaria para este clúster.

AwsClusterNetworking

ClusterNetworking define la configuración de herramientas de redes de todo el clúster.

Los clústeres de Anthos en AWS se ejecutan en una sola VPC. Esto incluye réplicas del plano de control y los nodos del grupo de nodos.

Representación JSON
{
  "vpcId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "perNodePoolSgRulesDisabled": boolean
}
Campos
vpcId

string

Obligatorio. La VPC asociada con el clúster. Todos los clústeres de componentes (es decir, el plano de control y los grupos de nodos) se ejecutan en una sola VPC.

No se puede cambiar este campo después de crearlo.

podAddressCidrBlocks[]

string

Obligatorio. A todos los pods del clúster se les asigna una dirección IPv4 de estos rangos. Solo se admite un rango. No se puede cambiar este campo después de crearlo.

serviceAddressCidrBlocks[]

string

Obligatorio. A todos los servicios del clúster se les asigna una dirección IPv4 de estos rangos. Solo se admite un rango. No se puede cambiar este campo después de crearlo.

perNodePoolSgRulesDisabled

boolean

Opcional. Inhabilita las reglas del grupo de seguridad de subred por grupo de nodos en el grupo de seguridad del plano de control. Cuando se configura como verdadero, también debes proporcionar uno o más grupos de seguridad que garanticen que los grupos de nodos puedan enviar solicitudes al plano de control en TCP/443 y TCP/8132. De lo contrario, es posible que los grupos de nodos no estén disponibles.

AwsControlPlane

ControlPlane define parámetros comunes entre los nodos del plano de control.

Representación JSON
{
  "version": string,
  "instanceType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "subnetIds": [
    string
  ],
  "securityGroupIds": [
    string
  ],
  "iamInstanceProfile": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "mainVolume": {
    object (AwsVolumeTemplate)
  },
  "databaseEncryption": {
    object (AwsDatabaseEncryption)
  },
  "tags": {
    string: string,
    ...
  },
  "awsServicesAuthentication": {
    object (AwsServicesAuthentication)
  },
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  }
}
Campos
version

string

Obligatorio. La versión de Kubernetes que se ejecutará en las réplicas del plano de control (p.ej., 1.19.10-gke.1000).

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

instanceType

string

Opcional. El tipo de instancia de AWS.

Cuando no se especifica, usa un valor predeterminado basado en la versión del clúster.

sshConfig

object (AwsSshConfig)

Opcional. Configuración SSH sobre cómo acceder a las máquinas del plano de control subyacentes.

subnetIds[]

string

Obligatorio. La lista de subredes en las que se ejecutarán las réplicas del plano de control. Se aprovisionará una réplica en cada subred y se podrán proporcionar hasta tres valores. Cada subred debe estar en una zona de disponibilidad (AZ) de AWS diferente.

securityGroupIds[]

string

Opcional. Los IDs de grupos de seguridad adicionales que se deben agregar a las réplicas del plano de control. La API de múltiples nubes de Anthos creará y administrará automáticamente grupos de seguridad con las reglas mínimas necesarias para un clúster en funcionamiento.

iamInstanceProfile

string

Obligatorio. El nombre o ARN del perfil de la instancia de IAM de AWS que se asignará a cada réplica del plano de control.

rootVolume

object (AwsVolumeTemplate)

Opcional. Configuración relacionada con el volumen raíz aprovisionado para cada réplica del plano de control.

Los volúmenes se aprovisionarán en la zona de disponibilidad asociada con la subred correspondiente.

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

mainVolume

object (AwsVolumeTemplate)

Opcional. Configuración relacionada con el volumen principal aprovisionado para cada réplica del plano de control. El volumen principal se encarga de almacenar todo el estado de etcd del clúster.

Los volúmenes se aprovisionarán en la zona de disponibilidad asociada con la subred correspondiente.

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

databaseEncryption

object (AwsDatabaseEncryption)

Obligatorio. El ARN de la clave de AWS KMS que se usa para encriptar los Secrets del clúster.

tags

map (key: string, value: string)

Opcional. Un conjunto de etiquetas de recursos de AWS para propagarse a todos los recursos de AWS administrados subyacentes.

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" }.

awsServicesAuthentication

object (AwsServicesAuthentication)

Obligatorio. Configuración de autenticación para la administración de recursos de AWS.

proxyConfig

object (AwsProxyConfig)

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

configEncryption

object (AwsConfigEncryption)

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

instancePlacement

object (AwsInstancePlacement)

Opcional. La ubicación que se usará en las instancias del plano de control. Si no se especifica, se usará el usuario predeterminado de la VPC.

AwsDatabaseEncryption

Configuración relacionada con la encriptación de Secrets de la capa de aplicación.

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

string

Obligatorio. El ARN de la clave de AWS KMS que se usa para encriptar los Secrets del clúster.

AwsServicesAuthentication

Configuración de autenticación para la administración de recursos de AWS.

Representación JSON
{
  "roleArn": string,
  "roleSessionName": string
}
Campos
roleArn

string

Obligatorio. El nombre del recurso de Amazon (ARN) del rol que asumirá la API de múltiples nubes de Anthos cuando administres recursos de AWS en tu cuenta.

roleSessionName

string

Opcional. Un identificador de la sesión del rol adoptado.

Cuando no se especifica, el valor predeterminado es multicloud-service-agent.

AwsAuthorization

Configuración relacionada con la configuración de RBAC del clúster.

Representación JSON
{
  "adminUsers": [
    {
      object (AwsClusterUser)
    }
  ],
  "adminGroups": [
    {
      object (AwsClusterGroup)
    }
  ]
}
Campos
adminUsers[]

object (AwsClusterUser)

Opcional. Usuarios que pueden realizar operaciones como administrador del clúster. Se creará un ClusterRoleBinding administrado para otorgar el ClusterRole cluster-admin a los usuarios. Se pueden proporcionar hasta diez usuarios administradores.

Para obtener más información sobre RBAC, consulta https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles

adminGroups[]

object (AwsClusterGroup)

Opcional. Grupos de usuarios que pueden realizar operaciones como administrador del clúster. Se creará un ClusterRoleBinding administrado para otorgar el ClusterRole cluster-admin a los grupos. Se pueden proporcionar hasta diez grupos de usuarios administradores.

Para obtener más información sobre RBAC, consulta https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles

AwsClusterUser

Identidades de un sujeto de tipo de usuario para clústeres de AWS.

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

string

Obligatorio. El nombre del usuario, p.ej., my-gcp-id@gmail.com.

AwsClusterGroup

Identidades de un sujeto de tipo de grupo para los clústeres de AWS.

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

string

Obligatorio. El nombre del grupo, p.ej., my-group@domain.com.

Estado

El estado del ciclo de vida del clúster.

Enums
STATE_UNSPECIFIED Sin establecer.
PROVISIONING El estado PROVISIONING indica que el clúster se está creando.
RUNNING El estado RUNNING indica que el clúster se creó y que se puede usar por completo.
RECONCILING El estado RECONCILING indica que un trabajo se está realizando de forma activa en el clúster, como actualizar las réplicas del plano de control.
STOPPING El estado STOPPING indica que se está borrando el clúster.
ERROR El estado ERROR indica que el clúster se encuentra en un estado con daño irrecuperable.
DEGRADED El estado DEGRADED indica que el clúster requiere una acción del usuario para restablecer la funcionalidad completa.

AwsClusterError

AwsClusterError describe los errores encontrados en los clústeres de AWS.

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

string

Descripción sencilla del error.

Métodos

create

Crea un recurso AwsCluster nuevo en un proyecto y una región de Google Cloud Platform determinados.

delete

Borra un recurso AwsCluster específico.

generateAwsAccessToken

Genera un token de acceso de corta duración para autenticarse en un recurso AwsCluster determinado.

generateAwsClusterAgentToken

Genera un token de acceso para un agente del clúster.

get

Describe un recurso AwsCluster específico.

getJwks

Obtiene el componente público de las claves de firma del clúster en formato de clave web JSON.

list

Enumera todos los recursos AwsCluster en un proyecto y una región de Google Cloud determinados.

patch

Actualiza una AwsCluster.