REST Resource: projects.locations.azureClusters

Recurso: AzureCluster

Un clúster de Anthos que se ejecuta en Azure

Representación JSON
{
  "name": string,
  "description": string,
  "azureRegion": string,
  "resourceGroupId": string,
  "azureClient": string,
  "networking": {
    object (AzureClusterNetworking)
  },
  "controlPlane": {
    object (AzureControlPlane)
  },
  "authorization": {
    object (AzureAuthorization)
  },
  "azureServicesAuthentication": {
    object (AzureServicesAuthentication)
  },
  "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)
  },
  "managedResources": {
    object (AzureClusterResources)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "errors": [
    {
      object (AzureClusterError)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  }
}
Campos
name

string

El nombre de este recurso.

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

Consulta 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 puede tener más de 255 bytes con codificación UTF-8.

azureRegion

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 Azure cercanas. Puedes llamar a locations.getAzureServerConfig para obtener una lista de todas las regiones de Azure compatibles dentro de una región de Google Cloud determinada.

resourceGroupId

string

Obligatorio. El ID de ARM del grupo de recursos en el que se implementan los recursos del clúster. Por ejemplo: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>

azureClient

string

Opcional. Nombre de la AzureClient que contiene la configuración de autenticación para saber cómo se conecta la API de Multi-Cloud de Anthos a las APIs de Azure.

Se debe proporcionar azureClient o azureServicesAuthentication.

El recurso AzureClient debe residir en el mismo proyecto de Google Cloud Platform y la misma región que AzureCluster.

Los nombres AzureClient tienen el formato projects/<project-number>/locations/<region>/azureClients/<client-id>.

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

networking

object (AzureClusterNetworking)

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

controlPlane

object (AzureControlPlane)

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

authorization

object (AzureAuthorization)

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

azureServicesAuthentication

object (AzureServicesAuthentication)

Opcional. Configuración de autenticación para la administración de recursos de Azure.

Se debe proporcionar azureClient o azureServicesAuthentication.

state

enum (State)

Solo salida. El estado actual del clúster.

endpoint

string

Solo salida. El extremo del servidor de API 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.

Es posible que se envíe 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 256k. Las claves pueden tener 2 segmentos: prefijo (opcional) y nombre (obligatorio), separados por una barra (/). 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.

managedResources

object (AzureClusterResources)

Solo salida. Recursos administrados de Azure para este clúster.

loggingConfig

object (LoggingConfig)

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

errors[]

object (AzureClusterError)

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

monitoringConfig

object (MonitoringConfig)

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

AzureClusterNetworking

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

Representación JSON
{
  "virtualNetworkId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "serviceLoadBalancerSubnetId": string
}
Campos
virtualNetworkId

string

Obligatorio. El ID de Azure Resource Manager (ARM) de la VNet asociada a tu clúster.

Todos los componentes del clúster (es decir, el plano de control y los grupos de nodos) se ejecutan en una sola VNet.

Ejemplo: /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Network/virtualNetworks/<vnet-id>

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

podAddressCidrBlocks[]

string

Obligatorio. El rango de direcciones IP de los pods en este clúster, en notación CIDR (p.ej., 10.96.0.0/14).

A todos los Pods del clúster se les asigna una dirección IPv4 única de estos rangos. Solo se admite un rango.

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

serviceAddressCidrBlocks[]

string

Obligatorio. El rango de direcciones IP para los servicios de este clúster, en notación CIDR (p.ej., 10.96.0.0/14).

A todos los servicios del clúster se les asigna una dirección IPv4 única de estos rangos. Solo se admite un rango.

Este campo no se puede cambiar después de crear un clúster.

serviceLoadBalancerSubnetId

string

Opcional. El ID de ARM de la subred en la que se implementan los balanceadores de cargas de tipo servicio privado de Kubernetes. Cuando no se especifica, el valor predeterminado es AzureControlPlane.subnet_id.

Ejemplo: "/subscriptions/d00494d6-6f3c-4280-bbb2-899e163d1d30/resourceGroups/anthos_cluster_gkeust4/providers/Microsoft.Network/virtualNetworks/gke-vnet-gkeust4/subnets/subnetid456"

AzureControlPlane

AzureControlPlane representa las opciones de configuración del plano de control.

Representación JSON
{
  "version": string,
  "subnetId": string,
  "vmSize": string,
  "sshConfig": {
    object (AzureSshConfig)
  },
  "rootVolume": {
    object (AzureDiskTemplate)
  },
  "mainVolume": {
    object (AzureDiskTemplate)
  },
  "databaseEncryption": {
    object (AzureDatabaseEncryption)
  },
  "proxyConfig": {
    object (AzureProxyConfig)
  },
  "configEncryption": {
    object (AzureConfigEncryption)
  },
  "tags": {
    string: string,
    ...
  },
  "replicaPlacements": [
    {
      object (ReplicaPlacement)
    }
  ],
  "endpointSubnetId": string
}
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 mediante una llamada a locations.getAzureServerConfig.

subnetId

string

Opcional. El ID de ARM de la subred predeterminada para el plano de control. Las VM del plano de control se implementan en esta subred, a menos que se especifique AzureControlPlane.replica_placements. Esta subred también se usará como predeterminada para AzureControlPlane.endpoint_subnet_id si no se especifica AzureControlPlane.endpoint_subnet_id. De manera similar, se usará como predeterminada para AzureClusterNetworking.service_load_balancer_subnet_id.

Ejemplo: /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.Network/virtualNetworks/<vnet-id>/subnets/default.

vmSize

string

Opcional. El nombre del tamaño de la VM de Azure. Ejemplo: Standard_DS2_v2.

Para conocer los tamaños de VM disponibles, consulta https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions.

Cuando no se especifica, el valor predeterminado es Standard_DS2_v2.

sshConfig

object (AzureSshConfig)

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

rootVolume

object (AzureDiskTemplate)

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

Cuando no se especifica, el valor predeterminado es n Azure Disk de 32 GiB.

mainVolume

object (AzureDiskTemplate)

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.

Cuando no se especifica, el valor predeterminado es un Azure Disk de 8 GiB.

databaseEncryption

object (AzureDatabaseEncryption)

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

proxyConfig

object (AzureProxyConfig)

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

configEncryption

object (AzureConfigEncryption)

Opcional. Configuración relacionada con la encriptación de configuración de VM.

tags

map (key: string, value: string)

Opcional. Un conjunto de etiquetas para aplicar a todos los recursos subyacentes de Azure del plano de control.

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

replicaPlacements[]

object (ReplicaPlacement)

Opcional. Configuración sobre dónde colocar las réplicas del plano de control.

Se pueden especificar hasta tres instancias de ubicación de réplica. Si se configura replicaPlacement, las instancias de posición de réplica se aplicarán a las tres réplicas del plano de control de la manera más uniforme posible.

endpointSubnetId

string

Opcional. El ID de ARM de la subred en la que se implementa el balanceador de cargas del plano de control. Cuando no se especifica, el valor predeterminado es AzureControlPlane.subnet_id.

Ejemplo: "/subscriptions/d00494d6-6f3c-4280-bbb2-899e163d1d30/resourceGroups/anthos_cluster_gkeust4/providers/Microsoft.Network/virtualNetworks/gke-vnet-gkeust4/subnets/subnetid123"

AzureDatabaseEncryption

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

Los clústeres de Anthos en Azure encriptan tus datos de Kubernetes en reposo en etcd mediante Azure Key Vault.

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

string

Obligatorio. El ID de ARM de la clave de Azure Key Vault para encriptar o desencriptar datos.

Por ejemplo: la encriptación /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.KeyVault/vaults/<key-vault-id>/keys/<key-name> siempre tomará la versión más reciente de la clave y, por lo tanto, no se admite una versión específica.

ReplicaPlacement

Configuración para la posición de una réplica del plano de control.

Representación JSON
{
  "subnetId": string,
  "azureAvailabilityZone": string
}
Campos
subnetId

string

Obligatorio. Para una réplica determinada, el ID de ARM de la subred en la que se implementa la VM del plano de control. Asegúrate de que sea una subred en la red virtual en la configuración del clúster.

azureAvailabilityZone

string

Obligatorio. Para una réplica determinada, la zona de disponibilidad de Azure en la que se debe aprovisionar la VM del plano de control y el disco de ETCD.

AzureAuthorization

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

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

object (AzureClusterUser)

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 (AzureClusterGroup)

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 usuarios administradores.

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

AzureClusterUser

Identidades de un sujeto de tipo de usuario para los clústeres de Azure

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

string

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

AzureClusterGroup

Identidades de un sujeto de tipo de grupo para los clústeres de Azure

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

string

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

AzureServicesAuthentication

Configuración de autenticación para administrar los recursos de Azure.

Representación JSON
{
  "tenantId": string,
  "applicationId": string
}
Campos
tenantId

string

Obligatorio. El ID de usuario de Azure Active Directory.

applicationId

string

Obligatorio. El ID de aplicación de Azure Active Directory.

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 hay trabajo que se está realizando de forma activa en el clúster, como la actualización de 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 DEGRADADO indica que el clúster requiere una acción del usuario para restablecer la funcionalidad completa.

AzureClusterResources

Recursos administrados de Azure para el clúster.

Los valores pueden cambiar y estar vacíos, según el estado del clúster.

Representación JSON
{
  "networkSecurityGroupId": string,
  "controlPlaneApplicationSecurityGroupId": string
}
Campos
networkSecurityGroupId

string

Solo salida. El ID de ARM del grupo de seguridad de red del clúster.

controlPlaneApplicationSecurityGroupId

string

Solo salida. El ID de ARM del grupo de seguridad de aplicación del plano de control.

AzureClusterError

AzureClusterError describe los errores encontrados en los clústeres de Azure.

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

string

Descripción sencilla del error.

Métodos

create

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

delete

Elimina un recurso AzureCluster específico.

generateAzureAccessToken

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

generateAzureClusterAgentToken

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

get

Describe un recurso AzureCluster 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 AzureCluster en un proyecto y una región de Google Cloud determinados.

patch

Actualiza una AzureCluster.