REST Resource: projects.locations.azureClusters

Risorsa: AzureCluster

Un cluster Anthos in esecuzione su Azure.

Rappresentazione 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)
  }
}
Campi
name

string

Il nome di questa risorsa.

I nomi dei cluster sono formattati come projects/<project-number>/locations/<region>/azureClusters/<cluster-id>.

Per ulteriori dettagli sui nomi delle risorse della Google Cloud Platform, consulta Nomi delle risorse.

description

string

Facoltativo. Una descrizione leggibile di questo cluster. Non può essere più lungo di 255 byte codificati in UTF-8.

azureRegion

string

Obbligatorio. La regione Azure in cui viene eseguito il cluster.

Ogni area geografica Google Cloud supporta un sottoinsieme di aree geografiche Azure nelle vicinanze. Puoi chiamare locations.getAzureServerConfig per elencare tutte le regioni Azure supportate all'interno di una determinata regione Google Cloud.

resourceGroupId

string

Obbligatorio. L'ID ARM del gruppo di risorse in cui vengono implementate le risorse del cluster. Ad esempio: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>

azureClient

string

Facoltativo. Nome del file AzureClient che contiene la configurazione di autenticazione per la connessione dell'API Anthos Multi-Cloud alle API Azure.

È necessario specificare azureClient o azureServicesAuthentication.

La risorsa AzureClient deve trovarsi nella stessa regione e nello stesso progetto Google Cloud Platform di AzureCluster.

I nomi AzureClient sono formattati come projects/<project-number>/locations/<region>/azureClients/<client-id>.

Per ulteriori dettagli sui nomi delle risorse Google Cloud, consulta Nomi delle risorse.

networking

object (AzureClusterNetworking)

Obbligatorio. Configurazione di rete a livello di cluster.

controlPlane

object (AzureControlPlane)

Obbligatorio. Configurazione relativa al piano di controllo del cluster.

authorization

object (AzureAuthorization)

Obbligatorio. Configurazione relativa alle impostazioni RBAC del cluster.

azureServicesAuthentication

object (AzureServicesAuthentication)

Facoltativo. Configurazione dell'autenticazione per la gestione delle risorse Azure.

È necessario specificare azureClient o azureServicesAuthentication.

state

enum (State)

Solo output. Lo stato attuale del cluster.

endpoint

string

Solo output. L'endpoint del server API del cluster.

uid

string

Solo output. Un identificatore univoco globale per il cluster.

reconciling

boolean

Solo output. Se impostato, al momento sono in corso modifiche al cluster.

createTime

string (Timestamp format)

Solo output. L'ora in cui è stato creato questo cluster.

Utilizza RFC 3339, in cui l'output generato sarà sempre normalizzato in base a Z e utilizza 0, 3, 6 o 9 cifre decimali. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo output. L'ora dell'ultimo aggiornamento di questo cluster.

Utilizza RFC 3339, in cui l'output generato sarà sempre normalizzato in base a Z e utilizza 0, 3, 6 o 9 cifre decimali. Sono accettati anche offset diversi da "Z". Esempi: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

etag

string

Consente ai client di eseguire letture, modifiche e scritture coerenti tramite controllo della contemporaneità ottimistico.

Può essere inviato per le richieste di aggiornamento ed eliminazione per assicurarsi che il cliente abbia un valore aggiornato prima di procedere.

annotations

map (key: string, value: string)

Facoltativo. Annotazioni sul cluster.

Questo campo ha le stesse limitazioni delle annotazioni Kubernetes. La dimensione totale di tutte le chiavi e i valori combinati è limitata a 256 KB. Le chiavi possono avere due segmenti: prefisso (facoltativo) e nome (obbligatorio), separati da una barra (/). Il prefisso deve essere un sottodominio DNS. Il nome deve avere una lunghezza massima di 63 caratteri, deve iniziare e terminare con caratteri alfanumerici e può comprendere trattini (-), trattini bassi (_), punti (.) e caratteri alfanumerici.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

workloadIdentityConfig

object (WorkloadIdentityConfig)

Solo output. Impostazioni di Workload Identity.

clusterCaCertificate

string

Solo output. Certificato x509 con codifica PEM della radice di attendibilità del cluster.

fleet

object (Fleet)

Obbligatorio. Configurazione del parco risorse.

managedResources

object (AzureClusterResources)

Solo output. Risorse Azure gestite per questo cluster.

loggingConfig

object (LoggingConfig)

Facoltativo. Configurazione del logging per questo cluster.

errors[]

object (AzureClusterError)

Solo output. Un insieme di errori rilevati nel cluster.

monitoringConfig

object (MonitoringConfig)

Facoltativo. Configurazione del monitoraggio per questo cluster.

AzureClusterNetworking

ClusterNetworking contiene la configurazione di rete a livello di cluster.

Rappresentazione JSON
{
  "virtualNetworkId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "serviceLoadBalancerSubnetId": string
}
Campi
virtualNetworkId

string

Obbligatorio. L'ID Azure Resource Manager (ARM) della VNet associata al cluster.

Tutti i componenti del cluster (ovvero il piano di controllo e i pool di nodi) vengono eseguiti su un'unica VNet.

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

Questo campo non può essere modificato dopo la creazione.

podAddressCidrBlocks[]

string

Obbligatorio. L'intervallo di indirizzi IP dei pod in questo cluster, in notazione CIDR (ad es. 10.96.0.0/14).

A tutti i pod del cluster viene assegnato un indirizzo IPv4 univoco da questi intervalli. È supportato un solo intervallo.

Questo campo non può essere modificato dopo la creazione.

serviceAddressCidrBlocks[]

string

Obbligatorio. L'intervallo di indirizzi IP per i servizi in questo cluster, in notazione CIDR (ad es. 10.96.0.0/14).

A tutti i servizi del cluster viene assegnato un indirizzo IPv4 univoco da questi intervalli. È supportato un solo intervallo.

Questo campo non può essere modificato dopo la creazione di un cluster.

serviceLoadBalancerSubnetId

string

Facoltativo. L'ID ARM della subnet in cui sono di cui è stato eseguito il deployment dei bilanciatori del carico di tipo servizio privato Kubernetes. Se non specificato, il valore predefinito è AzureControlPlane.subnet_id.

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

AzureControlPlane

AzureControlPlane rappresenta le configurazioni del piano di controllo.

Rappresentazione 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
}
Campi
version

string

Obbligatorio. La versione di Kubernetes da eseguire sulle repliche del piano di controllo (ad es. 1.19.10-gke.1000).

Puoi elencare tutte le versioni supportate in una determinata regione Google Cloud chiamando locations.getAzureServerConfig.

subnetId

string

Facoltativo. L'ID ARM della subnet predefinita per il control plane. Le VM del piano di controllo vengono implementate in questa subnet, a meno che non venga specificato AzureControlPlane.replica_placements. Questa sottorete verrà utilizzata anche come predefinita per AzureControlPlane.endpoint_subnet_id se AzureControlPlane.endpoint_subnet_id non è specificato. Analogamente, verrà utilizzato come predefinito per AzureClusterNetworking.service_load_balancer_subnet_id.

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

vmSize

string

Facoltativo. Il nome della dimensione della VM Azure. Esempio: Standard_DS2_v2.

Per le dimensioni delle VM disponibili, consulta https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions.

Se non specificato, il valore predefinito è Standard_DS2_v2.

sshConfig

object (AzureSshConfig)

Obbligatorio. Configurazione SSH per accedere alle macchine del control plane sottostanti.

rootVolume

object (AzureDiskTemplate)

Facoltativo. Configurazione relativa al volume principale eseguito il provisioning per ogni replica del piano di controllo.

Se non specificato, il valore predefinito è un disco Azure da 32 GB.

mainVolume

object (AzureDiskTemplate)

Facoltativo. Configurazione relativa al volume principale eseguito il provisioning per ogni replica del piano di controllo. Il volume principale è responsabile della memorizzazione di tutto lo stato etcd del cluster.

Se non specificato, il valore predefinito è un disco Azure da 8 GB.

databaseEncryption

object (AzureDatabaseEncryption)

Facoltativo. Configurazione relativa alla crittografia dei secret a livello di applicazione.

proxyConfig

object (AzureProxyConfig)

Facoltativo. Configurazione del proxy per il traffico HTTP(S) in uscita.

configEncryption

object (AzureConfigEncryption)

Facoltativo. Configurazione relativa alla crittografia della configurazione della VM.

tags

map (key: string, value: string)

Facoltativo. Un insieme di tag da applicare a tutte le risorse Azure del piano di controllo sottostanti.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

replicaPlacements[]

object (ReplicaPlacement)

Facoltativo. Configurazione della posizione delle repliche del piano di controllo.

È possibile specificare fino a tre istanze di posizionamento delle repliche. Se replicaPlacements è impostato, le istanze di posizionamento delle repliche verranno applicate alle tre repliche del piano di controllo nel modo più uniforme possibile.

endpointSubnetId

string

Facoltativo. L'ID ARM della subnet in cui è dipiegato il bilanciatore del carico del piano di controllo. Se non specificato, il valore predefinito è AzureControlPlane.subnet_id.

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

AzureDatabaseEncryption

Configurazione relativa alla crittografia dei secret a livello di applicazione.

Cluster Anthos on Azure cripta i dati Kubernetes at-rest in etcd utilizzando Azure Key Vault.

Rappresentazione JSON
{
  "keyId": string
}
Campi
keyId

string

Obbligatorio. L'ID ARM della chiave dell'insieme delle credenziali delle chiavi di Azure per criptare / decriptare i dati.

Ad esempio: /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.KeyVault/vaults/<key-vault-id>/keys/<key-name> la crittografia utilizzerà sempre la versione più recente della chiave, pertanto la versione specifica non è supportata.

ReplicaPlacement

Configurazione per il posizionamento di una replica del piano di controllo.

Rappresentazione JSON
{
  "subnetId": string,
  "azureAvailabilityZone": string
}
Campi
subnetId

string

Obbligatorio. Per una determinata replica, l'ID ARM della subnet in cui è dispiattata la VM del piano di controllo. Assicurati che si tratti di una subnet all'interno della rete virtuale nella configurazione del cluster.

azureAvailabilityZone

string

Obbligatorio. Per una determinata replica, la zona di disponibilità di Azure in cui eseguire il provisioning della VM del piano di controllo e del disco ETCD.

AzureAuthorization

Configurazione relativa alle impostazioni RBAC del cluster.

Rappresentazione JSON
{
  "adminUsers": [
    {
      object (AzureClusterUser)
    }
  ],
  "adminGroups": [
    {
      object (AzureClusterGroup)
    }
  ]
}
Campi
adminUsers[]

object (AzureClusterUser)

Facoltativo. Utenti che possono eseguire operazioni come amministratore del cluster. Verrà creato un ClusterRoleBinding gestito per concedere agli utenti il ruolo cluster-admin ClusterRole. È possibile fornire fino a dieci utenti amministratori.

Per ulteriori informazioni su RBAC, consulta https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles

adminGroups[]

object (AzureClusterGroup)

Facoltativo. Gruppi di utenti che possono eseguire operazioni come amministratore del cluster. Verrà creato un ClusterRoleBinding gestito per concedere il ClusterRole cluster-admin ai gruppi. Puoi specificare fino a dieci gruppi di amministrazione.

Per ulteriori informazioni su RBAC, consulta https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles

AzureClusterUser

Identità di un soggetto di tipo utente per i cluster Azure.

Rappresentazione JSON
{
  "username": string
}
Campi
username

string

Obbligatorio. Il nome dell'utente, ad esempio my-gcp-id@gmail.com.

AzureClusterGroup

Identità di un soggetto di tipo gruppo per i cluster Azure.

Rappresentazione JSON
{
  "group": string
}
Campi
group

string

Obbligatorio. Il nome del gruppo, ad esempio my-group@domain.com.

AzureServicesAuthentication

Configurazione dell'autenticazione per la gestione delle risorse Azure.

Rappresentazione JSON
{
  "tenantId": string,
  "applicationId": string
}
Campi
tenantId

string

Obbligatorio. L'ID tenant di Azure Active Directory.

applicationId

string

Obbligatorio. L'ID applicazione Azure Active Directory.

Stato

Lo stato del ciclo di vita del cluster.

Enum
STATE_UNSPECIFIED Non impostato.
PROVISIONING Lo stato PROVISIONING indica che il cluster è in fase di creazione.
RUNNING Lo stato RUNNING indica che il cluster è stato creato ed è completamente utilizzabile.
RECONCILING Lo stato RECONCILING indica che nel cluster è in corso un'attività, ad esempio l'upgrade delle repliche del piano di controllo.
STOPPING Lo stato STOPPING indica che il cluster è in fase di eliminazione.
ERROR Lo stato ERROR indica che il cluster è in uno stato non recuperabile non funzionante.
DEGRADED Lo stato DEGRADED indica che il cluster richiede un'azione da parte dell'utente per ripristinare la funzionalità completa.

AzureClusterResources

Risorse Azure gestite per il cluster.

I valori possono cambiare ed essere vuoti, a seconda dello stato del cluster.

Rappresentazione JSON
{
  "networkSecurityGroupId": string,
  "controlPlaneApplicationSecurityGroupId": string
}
Campi
networkSecurityGroupId

string

Solo output. L'ID ARM del gruppo di sicurezza della rete del cluster.

controlPlaneApplicationSecurityGroupId

string

Solo output. L'ID ARM del gruppo di sicurezza delle applicazioni del control plane.

AzureClusterError

AzureClusterError descrive gli errori rilevati nei cluster Azure.

Rappresentazione JSON
{
  "message": string
}
Campi
message

string

Descrizione dell'errore comprensibile.

Metodi

create

Crea una nuova risorsa AzureCluster in un determinato progetto e regione della Google Cloud Platform.

delete

Consente di eliminare una risorsa AzureCluster specifica.

generateAzureAccessToken

Genera un token di accesso di breve durata per l'autenticazione in una determinata risorsa AzureCluster.

generateAzureClusterAgentToken

Genera un token di accesso per un agente del cluster.

get

Descrive una risorsa AzureCluster specifica.

getJwks

Recupera il componente pubblico delle chiavi di firma del cluster in formato chiave web JSON.

list

Elenca tutte le risorse AzureCluster in un determinato progetto e regione Google Cloud.

patch

Aggiorna un AzureCluster.