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 Google Cloud, vedi Nomi delle risorse.

description

string

Facoltativo. Una descrizione leggibile di questo cluster. Non può superare i 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 eseguite le risorse del cluster. Ad esempio: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>

azureClient

string

Facoltativo. Nome di AzureClient che contiene la configurazione di autenticazione per la modalità di connessione dell'API multi-cloud Anthos alle API Azure.

È necessario fornire azureClient o azureServicesAuthentication.

La risorsa AzureClient deve risiedere nello stesso progetto e nella stessa regione di 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, vedi Nomi delle risorse.

networking

object (AzureClusterNetworking)

Obbligatorio. Configurazione del networking a livello di cluster.

controlPlane

object (AzureControlPlane)

Obbligatorio. Configurazione relativa al control plane 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 fornire 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 è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. 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 è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. 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 operazioni di lettura-modifica-scrittura coerenti tramite controllo della contemporaneità ottimistico.

Può essere inviato nelle richieste di aggiornamento ed eliminazione per garantire che il client disponga di 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 della registrazione per questo cluster.

errors[]

object (AzureClusterError)

Solo output. Un insieme di errori trovati 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 control plane e i pool di nodi) vengono eseguiti su una singola 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 vengono implementati i 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 control plane.

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 control plane (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 control plane vengono deployment in questa subnet, a meno che non venga specificato AzureControlPlane.replica_placements. Questa subnet verrà utilizzata anche come predefinita per AzureControlPlane.endpoint_subnet_id se AzureControlPlane.endpoint_subnet_id non è specificato. Allo stesso modo, verrà utilizzato come valore 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 la pagina 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 l'accesso alle macchine del control plane sottostanti.

rootVolume

object (AzureDiskTemplate)

Facoltativo. Configurazione relativa al volume radice di cui è stato eseguito il provisioning per ogni replica del control plane.

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

mainVolume

object (AzureDiskTemplate)

Facoltativo. Configurazione relativa al volume principale di cui è stato eseguito il provisioning per ogni replica del control plane. Il volume principale è responsabile dell'archiviazione di tutto lo stato etcd del cluster.

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

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

È 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 control plane nel modo più uniforme possibile.

endpointSubnetId

string

Facoltativo. L'ID ARM della subnet in cui viene eseguito il deployment del bilanciatore del carico del control plane. 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 di Azure Key Vault 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 l'ultima versione della chiave, pertanto una versione specifica non è supportata.

ReplicaPlacement

Configurazione per il posizionamento di una replica del control plane.

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

string

Obbligatorio. Per una determinata replica, l'ID ARM della subnet in cui viene eseguito il deployment della VM del control plane. Assicurati che sia una subnet 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 control plane 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 il ClusterRole cluster-admin agli utenti. È possibile fornire fino a dieci utenti amministratori.

Per saperne di più su RBAC, visita la pagina 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 fornire fino a 10 gruppi di amministratori.

Per saperne di più su RBAC, visita la pagina 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 es. 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 es. 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 sul cluster è in corso un'attività, ad esempio l'upgrade delle repliche del control plane.
STOPPING Lo stato STOPPING indica che il cluster è in fase di eliminazione.
ERROR Lo stato ERROR indica che il cluster è in uno stato non funzionante e non recuperabile.
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 potrebbero 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 di 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 di facile comprensione.

Metodi

create
(deprecated)

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

delete
(deprecated)

Elimina una risorsa AzureCluster specifica.

generateAzureAccessToken
(deprecated)

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

generateAzureClusterAgentToken
(deprecated)

Genera un token di accesso per un agente del cluster.

get
(deprecated)

Descrive una risorsa AzureCluster specifica.

getJwks
(deprecated)

Recupera il componente pubblico delle chiavi di firma del cluster in formato JSON Web Key.

list
(deprecated)

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

patch
(deprecated)

Aggiorna un AzureCluster.