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

Nombre de este recurso.

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

Consulta Nombres de recursos para obtener más información sobre los nombres de recursos de Google Cloud Platform.

description

string

Opcional. Descripción legible de este clúster. No puede tener más de 255 bytes codificados en UTF-8.

networking

object (AwsClusterNetworking)

Obligatorio. Configuración de redes en 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 enumerar todas las regiones de AWS admitidas en 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 los ajustes de RBAC del clúster.

state

enum (State)

Solo de salida. El estado actual del clúster.

endpoint

string

Solo de salida. Endpoint del servidor de la API del clúster.

uid

string

Solo de salida. Identificador único global del clúster.

reconciling

boolean

Solo de salida. Si se define, significa que hay cambios en curso en el clúster.

createTime

string (Timestamp format)

Solo de salida. Hora a la que se creó este clúster.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo de salida. Hora a la que se actualizó este clúster por última vez.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Permite a los clientes realizar lecturas, modificaciones y escrituras coherentes mediante el control de simultaneidad optimista.

Se puede enviar en las solicitudes de actualización y eliminación para asegurarse de que el cliente tiene 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 no puede superar los 256 k. La clave puede tener dos segmentos: un prefijo (opcional) y un nombre (obligatorio), separados por una barra (/). El prefijo debe ser un subdominio de DNS. El nombre debe tener 63 caracteres como máximo, empezar y terminar con caracteres alfanuméricos, e incluir guiones (-), guiones bajos (_), puntos (.) y caracteres alfanuméricos.

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

workloadIdentityConfig

object (WorkloadIdentityConfig)

Solo de salida. Configuración de Workload Identity.

clusterCaCertificate

string

Solo de salida. Certificado x509 codificado en 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 de este clúster.

errors[]

object (AwsClusterError)

Solo de salida. Conjunto de errores detectados en el clúster.

monitoringConfig

object (MonitoringConfig)

Opcional. Configuración de la monitorización de este clúster.

binaryAuthorization

object (BinaryAuthorization)

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

AwsClusterNetworking

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

Los clústeres de Anthos en AWS se ejecutan en una sola VPC. Esto incluye las 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 al 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.

Este campo no se puede cambiar después de crearse.

podAddressCidrBlocks[]

string

Obligatorio. Se ha asignado una dirección IPv4 de estos intervalos a todos los pods del clúster. Solo se admite un intervalo. Este campo no se puede cambiar después de crearse.

serviceAddressCidrBlocks[]

string

Obligatorio. Se asigna una dirección IPv4 de estos intervalos a todos los servicios del clúster. Solo se admite un intervalo. Este campo no se puede cambiar después de crearse.

perNodePoolSgRulesDisabled

boolean

Opcional. Inhabilita las reglas de grupo de seguridad de subred por grupo de nodos en el grupo de seguridad del plano de control. Si se define como true, también debes proporcionar uno o varios grupos de seguridad que garanticen que los grupos de nodos puedan enviar solicitudes al plano de control en TCP/443 y TCP/8132. Si no lo haces, 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. Versión de Kubernetes que se va a ejecutar en las réplicas del plano de control (por ejemplo, 1.19.10-gke.1000).

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

instanceType

string

Opcional. El tipo de instancia de AWS.

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

sshConfig

object (AwsSshConfig)

Opcional. Configuración de SSH para acceder a las máquinas del plano de control subyacente.

subnetIds[]

string

Obligatorio. 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 los grupos de seguridad adicionales que se añadirán a las réplicas del plano de control. La API Anthos Multi-Cloud creará y gestionará automáticamente grupos de seguridad con las reglas mínimas necesarias para que un clúster funcione.

iamInstanceProfile

string

Obligatorio. El nombre o el ARN del perfil de instancia de AWS IAM 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 a la subred correspondiente.

Si no se especifica, se usa de forma predeterminada 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 a la subred correspondiente.

Si 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 cifrar los secretos del clúster.

tags

map (key: string, value: string)

Opcional. Conjunto de etiquetas de recursos de AWS que se propagarán a todos los recursos de AWS gestionados subyacentes.

Especifica un máximo de 50 pares 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 gestión de recursos de AWS.

proxyConfig

object (AwsProxyConfig)

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

configEncryption

object (AwsConfigEncryption)

Obligatorio. Configura el cifrado de los datos de usuario.

instancePlacement

object (AwsInstancePlacement)

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

AwsDatabaseEncryption

Configuración relacionada con el encriptado de secretos 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 cifrar los secretos del clúster.

AwsServicesAuthentication

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

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

string

Obligatorio. El nombre de recurso de Amazon (ARN) del rol que asumirá la API Anthos Multi-Cloud al gestionar recursos de AWS en tu cuenta.

roleSessionName

string

Opcional. Identificador de la sesión del rol asumido.

Si no se especifica, se utiliza multicloud-service-agent de forma predeterminada.

AwsAuthorization

Configuración relacionada con los ajustes 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 de clúster. Se creará un ClusterRoleBinding gestionado para conceder el ClusterRole cluster-admin a los usuarios. Se pueden proporcionar hasta diez usuarios administradores.

Para obtener más información sobre el control de acceso basado en roles, 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 administradores de clústeres. Se creará un ClusterRoleBinding gestionado para conceder el cluster-admin ClusterRole a los grupos. Se pueden proporcionar hasta diez grupos de administradores.

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

AwsClusterUser

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

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

string

Obligatorio. El nombre del usuario, por ejemplo, my-gcp-id@gmail.com.

AwsClusterGroup

Identidades de un asunto de tipo de grupo para clústeres de AWS.

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

string

Obligatorio. El nombre del grupo, por ejemplo, my-group@domain.com.

Estado

El estado del ciclo de vida del clúster.

Enumeraciones
STATE_UNSPECIFIED Sin definir.
PROVISIONING El estado PROVISIONING indica que se está creando el clúster.
RUNNING El estado RUNNING indica que el clúster se ha creado y se puede usar por completo.
RECONCILING El estado RECONCILING indica que se está trabajando activamente en el clúster, por ejemplo, actualizando las réplicas del plano de control.
STOPPING El estado DETENIENDO indica que se está eliminando el clúster.
ERROR El estado ERROR indica que el clúster está en un estado dañado irrecuperable.
DEGRADED El estado DEGRADED indica que el clúster requiere que el usuario realice alguna acción para restaurar todas las funciones.

AwsClusterError

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

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

string

Descripción del error legible por humanos.

Métodos

create
(deprecated)

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

delete
(deprecated)

Elimina un recurso AwsCluster específico.

generateAwsAccessToken
(deprecated)

Genera un token de acceso de corta duración para autenticar el acceso a un recurso AwsCluster determinado.

generateAwsClusterAgentToken
(deprecated)

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

get
(deprecated)

Describe un recurso AwsCluster específico.

getJwks
(deprecated)

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

list
(deprecated)

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

patch
(deprecated)

Actualiza un AwsCluster.