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

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

azureRegion

string

Obligatorio. Región de Azure 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 enumerar todas las regiones de Azure admitidas en 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 del AzureClient que contiene la configuración de autenticación para determinar cómo se conecta la API Anthos Multi-Cloud a las APIs de Azure.

Se debe proporcionar azureClient o azureServicesAuthentication.

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

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

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

networking

object (AzureClusterNetworking)

Obligatorio. Configuración de redes en 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 los ajustes de RBAC del clúster.

azureServicesAuthentication

object (AzureServicesAuthentication)

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

Se debe proporcionar azureClient o azureServicesAuthentication.

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. Las claves pueden tener dos segmentos: un prefijo (opcional) y un nombre (obligatorio), separados por una barra (/). El prefijo debe ser un subdominio 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.

managedResources

object (AzureClusterResources)

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

loggingConfig

object (LoggingConfig)

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

errors[]

object (AzureClusterError)

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.

AzureClusterNetworking

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

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

string

Obligatorio. ID de Azure Resource Manager (ARM) de la red virtual 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 red virtual.

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

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

podAddressCidrBlocks[]

string

Obligatorio. Intervalo de direcciones IP de los pods de este clúster, en notación CIDR (por ejemplo, 10.96.0.0/14).

A todos los pods del clúster se les asigna una dirección IPv4 única de estos intervalos. Solo se admite un intervalo.

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

serviceAddressCidrBlocks[]

string

Obligatorio. Intervalo de direcciones IP de los servicios de este clúster, con notación CIDR (por ejemplo, 10.96.0.0/14).

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

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 carga de tipo servicio privado de Kubernetes. Si no se especifica, se usa AzureControlPlane.subnet_id de forma predeterminada.

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

AzureControlPlane

AzureControlPlane representa las configuraciones 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. 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.getAzureServerConfig.

subnetId

string

Opcional. El ID de ARM de la subred predeterminada del plano de control. Las VMs del plano de control se implementan en esta subred, a menos que se especifique AzureControlPlane.replica_placements. Esta subred también se usará como valor predeterminado para AzureControlPlane.endpoint_subnet_id si no se especifica AzureControlPlane.endpoint_subnet_id. Del mismo modo, se usará como valor predeterminado 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. Nombre del tamaño de la máquina virtual de Azure. Ejemplo: Standard_DS2_v2

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

Si no se especifica, se utiliza Standard_DS2_v2 de forma predeterminada.

sshConfig

object (AzureSshConfig)

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

rootVolume

object (AzureDiskTemplate)

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

Si no se especifica, el valor predeterminado es 32 GiB de disco de Azure.

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.

Si no se especifica, se asigna un disco de Azure de 8 GiB de forma predeterminada.

databaseEncryption

object (AzureDatabaseEncryption)

Opcional. Configuración relacionada con el encriptado de secretos 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 el cifrado de la configuración de la máquina virtual.

tags

map (key: string, value: string)

Opcional. Conjunto de etiquetas que se aplicarán a todos los recursos de Azure del plano de control subyacente.

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

replicaPlacements[]

object (ReplicaPlacement)

Opcional. Configuración de la ubicación de las réplicas del plano de control.

Se pueden especificar hasta tres instancias de colocación de réplicas. Si se define replicaPlacements, las instancias de colocación de réplicas se aplicarán a las tres réplicas del plano de control de la forma más uniforme posible.

endpointSubnetId

string

Opcional. El ID de ARM de la subred en la que se ha desplegado el balanceador de carga del plano de control. Si no se especifica, se usa AzureControlPlane.subnet_id de forma predeterminada.

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 el encriptado de secretos de la capa de aplicación.

Los clústeres de Anthos en Azure cifran 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 cifrar o descifrar datos.

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

ReplicaPlacement

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

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

string

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

azureAvailabilityZone

string

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

AzureAuthorization

Configuración relacionada con los ajustes 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 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 (AzureClusterGroup)

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.

AzureClusterUser

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

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

string

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

AzureClusterGroup

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

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

string

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

AzureServicesAuthentication

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

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

string

Obligatorio. El ID de cliente 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.

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.

AzureClusterResources

Recursos de Azure gestionados para el clúster.

Los valores pueden cambiar y estar vacíos en función del estado del clúster.

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

string

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

controlPlaneApplicationSecurityGroupId

string

Solo de salida. El ID de ARM del grupo de seguridad de la 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 del error legible por humanos.

Métodos

create
(deprecated)

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

delete
(deprecated)

Elimina un recurso AzureCluster específico.

generateAzureAccessToken
(deprecated)

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

generateAzureClusterAgentToken
(deprecated)

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

get
(deprecated)

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

patch
(deprecated)

Actualiza un AzureCluster.