REST Resource: projects.locations.azureClusters

Recurso: AzureCluster

Un clúster Anthos ejecutándose 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 de este clúster. No puede tener más de 255 bytes codificados en UTF-8.

azure Region

string

Obligatorio. La región de Azure donde se ejecuta el clúster.

Cada región de Google Cloud admite un subconjunto de regiones de Azure cercanas. Puedes usar locations.getAzureServerConfig para ver todas las regiones de Azure compatibles dentro de una región de Google Cloud determinada.

resource Group Id

string

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

azure Client

string

Opcional. Nombre del AzureClient que contiene la configuración de autenticación para la conexión de Anthos Multi-Cloud API a las API de Azure.

Se debe proporcionar azureClient o azureServicesAuthentication.

El recurso AzureClient debe residir en el mismo proyecto y región de Google Cloud Platform 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 red para todo el clúster.

control Plane

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

azure Services Authentication

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 punto final del servidor API del clúster.

uid

string

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

reconciling

boolean

Solo salida. Si se configura, hay cambios en curso en el clúster.

create Time

string ( Timestamp format)

Solo salida. Hora de creación del clúster.

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

update Time

string ( Timestamp format)

Solo salida. Hora de la última actualización de este clúster.

Utiliza la RFC 3339, donde la salida generada siempre se normalizará en Z y usará 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan 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 consistentes a través de un control de concurrencia optimista.

Se puede enviar en 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 está limitado a 256k. Las claves pueden tener dos 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, empezar y terminar con caracteres alfanuméricos, con guiones (-), guiones bajos (_), puntos (.) y caracteres alfanuméricos entre ellos.

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

workload Identity Config

object ( WorkloadIdentityConfig )

Solo salida. Configuración de identidad de la carga de trabajo.

cluster Ca Certificate

string

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

fleet

object ( Fleet )

Obligatorio. Configuración de flota.

managed Resources

object ( AzureClusterResources )

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

logging Config

object ( LoggingConfig )

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

errors[]

object ( AzureClusterError )

Solo salida. Se encontró un conjunto de errores en el clúster.

monitoring Config

object ( MonitoringConfig )

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

Redes de clústeres de Azure

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

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

string

Obligatorio. El identificador de Azure Resource Manager (ARM) de la red virtual asociada al clúster.

Todos los componentes del clúster (es decir, el plano de control y los grupos de nodos) se ejecutan en una única 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 su creación.

pod Address Cidr Blocks[]

string

Obligatorio. El rango de direcciones IP de los pods de 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.

Este campo no se puede cambiar después de su creación.

service Address Cidr Blocks[]

string

Obligatorio. El rango de direcciones IP de 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 único rango.

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

service Load Balancer Subnet Id

string

Opcional. El ID de ARM de la subred donde se implementan los balanceadores de carga de tipo de servicio privado de Kubernetes. Si no se especifica, su 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"

Plano de control de Azure

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. La versión de Kubernetes que se ejecutará en las réplicas del plano de control (p. ej., 1.19.10-gke.1000 ).

Puede enumerar todas las versiones compatibles en una región determinada de Google Cloud llamando locations.getAzureServerConfig .

subnet Id

string

Opcional. El ID de ARM de la subred predeterminada para el plano de control. Las máquinas virtuales 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 igual forma, 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 .

vm Size

string

Opcional. El nombre del tamaño de la máquina virtual de Azure. Ejemplo: Standard_DS2_v2 .

Para conocer los tamaños de máquinas virtuales disponibles, consulte https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions .

Cuando no se especifica, el valor predeterminado es Standard_DS2_v2 .

ssh Config

object ( AzureSshConfig )

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

root Volume

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 un disco Azure de 32 GiB.

main Volume

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 disco de Azure de 8 GiB.

database Encryption

object ( AzureDatabaseEncryption )

Opcional. Configuración relacionada con el cifrado de secretos de la capa de aplicación.

proxy Config

object ( AzureProxyConfig )

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

config Encryption

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. Un conjunto de etiquetas para aplicar a todos los recursos subyacentes del plano de control de Azure.

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

replica Placements[]

object ( ReplicaPlacement )

Opcional. Configuración para ubicar las réplicas del plano de control.

Se pueden especificar hasta tres instancias de colocación de réplicas. Si se configura 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.

endpoint Subnet Id

string

Opcional. El ID de ARM de la subred donde se implementa el balanceador de carga del plano de control. Si no se especifica, su 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"

Cifrado de bases de datos de Azure

Configuración relacionada con el cifrado de secretos de la capa de aplicación.

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

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

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 tomará la última versión de la clave y, por lo tanto, no se admite una versión específica.

Colocación de réplicas

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

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

string

Obligatorio. Para una réplica dada, el ID de ARM de la subred donde se implementa la máquina virtual del plano de control. Asegúrese de que sea una subred dentro de la red virtual en la configuración del clúster.

azure Availability Zone

string

Obligatorio. Para una réplica determinada, la zona de disponibilidad de Azure donde se aprovisionarán la máquina virtual del plano de control y el disco ETCD.

Autorización de Azure

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

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

object ( AzureClusterUser )

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

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

admin Groups[]

object ( AzureClusterGroup )

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

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

Usuario del clúster de Azure

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

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

string

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

Grupo de clústeres de Azure

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

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

string

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

Autenticación de servicios de Azure

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

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

string

Obligatorio. El identificador de inquilino de Azure Active Directory.

application Id

string

Obligatorio. El identificador de la aplicación de Azure Active Directory.

Estado

El estado del ciclo de vida del clúster.

Enumeraciones
STATE_UNSPECIFIED No establecido.
PROVISIONING El estado PROVISIONING indica que se está creando el clúster.
RUNNING El estado EN EJECUCIÓN indica que el clúster se ha creado y es completamente utilizable.
RECONCILING El estado RECONCILING indica que se está realizando algún trabajo de forma activa en el clúster, como la actualización de las réplicas del plano de control.
STOPPING El estado DETENCIÓN indica que se está eliminando el clúster.
ERROR El estado ERROR indica que el clúster se encuentra en un estado dañado e irrecuperable.
DEGRADED El estado DEGRADADO indica que el clúster requiere la acción del usuario para restaurar la funcionalidad completa.

Recursos de clúster de Azure

Recursos de Azure administrados para el clúster.

Los valores podrían cambiar y estar vacíos, dependiendo del estado del clúster.

Representación JSON
{
  "networkSecurityGroupId": string,
  "controlPlaneApplicationSecurityGroupId": string
}
Campos
network Security Group Id

string

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

control Plane Application Security Group Id

string

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

Error de clúster de Azure

AzureClusterError describe errores encontrados en clústeres de Azure.

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

string

Descripción del error, entendible para los humanos.

Métodos

create

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

delete

Elimina un recurso específico AzureCluster .

generate Azure Access Token

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

generate Azure Cluster Agent Token

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

get

Describe un recurso específico AzureCluster .

get Jwks

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

list

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

patch

Actualiza un AzureCluster .