REST Resource: projects.locations.azureClusters

Ressource: AzureCluster

Ein Anthos-Cluster, der in Azure ausgeführt wird.

JSON-Darstellung
{
  "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)
  }
}
Felder
name

string

Der Name dieser Ressource.

Clusternamen haben das Format projects/<project-number>/locations/<region>/azureClusters/<cluster-id>.

Weitere Informationen zu Google Cloud-Ressourcennamen finden Sie unter Ressourcennamen.

description

string

Optional. Eine für Menschen lesbare Beschreibung dieses Clusters. Darf nicht länger als 255 UTF-8-codierte Byte sein.

azureRegion

string

Erforderlich. Die Azure-Region, in der der Cluster ausgeführt wird.

Jede Google Cloud-Region unterstützt eine Teilmenge nahe gelegener Azure-Regionen. Sie können locations.getAzureServerConfig aufrufen, um alle unterstützten Azure-Regionen in einer bestimmten Google Cloud-Region aufzulisten.

resourceGroupId

string

Erforderlich. Die ARM-ID der Ressourcengruppe, in der die Clusterressourcen bereitgestellt werden. Beispiel: /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>

azureClient

string

Optional. Name des AzureClient, der die Authentifizierungskonfiguration für die Verbindung der Anthos Multi-Cloud API mit Azure APIs enthält.

Entweder „azureClient“ oder „azureServicesAuthentication“ muss angegeben werden.

Die AzureClient-Ressource muss sich im selben Google Cloud-Projekt und in derselben Region wie die AzureCluster befinden.

AzureClient-Namen haben das Format projects/<project-number>/locations/<region>/azureClients/<client-id>.

Weitere Informationen zu Google Cloud-Ressourcennamen finden Sie unter Ressourcennamen.

networking

object (AzureClusterNetworking)

Erforderlich. Clusterweite Netzwerkkonfiguration.

controlPlane

object (AzureControlPlane)

Erforderlich. Konfiguration, die sich auf die Clustersteuerungsebene bezieht.

authorization

object (AzureAuthorization)

Erforderlich. Konfiguration, die sich auf die RBAC-Einstellungen des Clusters bezieht.

azureServicesAuthentication

object (AzureServicesAuthentication)

Optional. Authentifizierungskonfiguration für die Verwaltung von Azure-Ressourcen.

Entweder „azureClient“ oder „azureServicesAuthentication“ muss angegeben werden.

state

enum (State)

Nur Ausgabe. Der aktuelle Status des Clusters.

endpoint

string

Nur Ausgabe. Der Endpunkt des API-Servers des Clusters.

uid

string

Nur Ausgabe. Eine global eindeutige Kennung für den Cluster.

reconciling

boolean

Nur Ausgabe. Wenn diese Option festgelegt ist, laufen aktuell Änderungen am Cluster.

createTime

string (Timestamp format)

Nur Ausgabe. Die Zeit, zu der dieser Cluster erstellt wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Nur Ausgabe. Die Zeit, zu der dieser Cluster zuletzt aktualisiert wurde.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

etag

string

Ermöglicht Clients durch optimistische Nebenläufigkeitserkennung, konsistente Read-Modify-Write-Vorgänge auszuführen.

Kann bei Aktualisierungs- und Löschanfragen gesendet werden, um sicherzustellen, dass der Client vor dem Fortfahren einen aktuellen Wert hat.

annotations

map (key: string, value: string)

Optional. Annotationen zum Cluster.

Für dieses Feld gelten die gleichen Einschränkungen wie für Kubernetes-Annotationen. Die Gesamtgröße aller Schlüssel und Werte ist auf 256 KB begrenzt. Schlüssel können zwei Segmente haben: Präfix (optional) und Name (erforderlich), getrennt durch einen Schrägstrich (/). Das Präfix muss eine DNS-Subdomain sein. Der Name darf maximal 63 Zeichen lang sein und muss mit alphanumerischen Zeichen beginnen und enden. Dazwischen müssen Bindestriche (-), Unterstriche (_), Punkte (.) und alphanumerische Zeichen liegen.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

workloadIdentityConfig

object (WorkloadIdentityConfig)

Nur Ausgabe. Workload Identity-Einstellungen.

clusterCaCertificate

string

Nur Ausgabe. PEM-codiertes X.509-Zertifikat des Cluster-Root-of-Trust.

fleet

object (Fleet)

Erforderlich. Flottenkonfiguration.

managedResources

object (AzureClusterResources)

Nur Ausgabe. Verwaltete Azure-Ressourcen für diesen Cluster.

loggingConfig

object (LoggingConfig)

Optional. Logging-Konfiguration für diesen Cluster.

errors[]

object (AzureClusterError)

Nur Ausgabe. Eine Reihe von Fehlern, die im Cluster gefunden wurden.

monitoringConfig

object (MonitoringConfig)

Optional. Monitoring-Konfiguration für diesen Cluster.

AzureClusterNetworking

ClusterNetworking enthält die clusterweite Netzwerkkonfiguration.

JSON-Darstellung
{
  "virtualNetworkId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "serviceLoadBalancerSubnetId": string
}
Felder
virtualNetworkId

string

Erforderlich. Die Azure Resource Manager-ID (ARM-ID) des VNet, das Ihrem Cluster zugeordnet ist.

Alle Komponenten im Cluster (d. h. Steuerungsebene und Knotenpools) werden in einem einzelnen VNet ausgeführt.

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

Dieses Feld kann nach dem Erstellen nicht mehr geändert werden.

podAddressCidrBlocks[]

string

Erforderlich. Der IP-Adressbereich der Pods in diesem Cluster in CIDR-Notation (z.B. 10.96.0.0/14).

Allen Pods im Cluster wird eine eindeutige IPv4-Adresse aus diesen Bereichen zugewiesen. Es wird nur ein einziger Bereich unterstützt.

Dieses Feld kann nach dem Erstellen nicht mehr geändert werden.

serviceAddressCidrBlocks[]

string

Erforderlich. Der IP-Adressbereich für Dienste in diesem Cluster in CIDR-Notation (z.B. 10.96.0.0/14).

Allen Diensten im Cluster wird eine eindeutige IPv4-Adresse aus diesen Bereichen zugewiesen. Es wird nur ein einziger Bereich unterstützt.

Dieses Feld kann nach dem Erstellen eines Clusters nicht mehr geändert werden.

serviceLoadBalancerSubnetId

string

Optional. Die ARM-ID des Subnetzes, in dem private Load-Balancer des Kubernetes-Diensts bereitgestellt werden. Wenn nicht angegeben, wird standardmäßig „AzureControlPlane.subnet_id“ verwendet.

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

AzureControlPlane

AzureControlPlane stellt die Konfigurationen der Steuerungsebene dar.

JSON-Darstellung
{
  "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
}
Felder
version

string

Erforderlich. Die Kubernetes-Version, die auf Replikaten der Steuerungsebene ausgeführt werden soll (z.B. 1.19.10-gke.1000).

Sie können alle unterstützten Versionen für eine bestimmte Google Cloud-Region auflisten, indem Sie locations.getAzureServerConfig aufrufen.

subnetId

string

Optional. Die ARM-ID des Standardsubnetzes für die Steuerungsebene. Die VMs der Steuerungsebene werden in diesem Subnetz bereitgestellt, sofern AzureControlPlane.replica_placements nicht angegeben ist. Dieses Subnetz wird auch als Standard für AzureControlPlane.endpoint_subnet_id verwendet, wenn AzureControlPlane.endpoint_subnet_id nicht angegeben ist. Ebenso wird sie als Standard für AzureClusterNetworking.service_load_balancer_subnet_id verwendet.

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

vmSize

string

Optional. Der Name der Azure-VM-Größe. Beispiel: Standard_DS2_v2.

Informationen zu verfügbaren VM-Größen finden Sie unter https://docs.microsoft.com/en-us/azure/virtual-machines/vm-naming-conventions.

Wenn nichts angegeben ist, wird standardmäßig Standard_DS2_v2 verwendet.

sshConfig

object (AzureSshConfig)

Erforderlich. SSH-Konfiguration für den Zugriff auf die zugrunde liegenden Maschinen der Steuerungsebene.

rootVolume

object (AzureDiskTemplate)

Optional. Konfiguration in Bezug auf die Stamm-Volumes, die für die einzelnen Replikate der Steuerungsebene bereitgestellt werden.

Wenn nicht angegeben, wird standardmäßig eine Azure Disk mit 32 GiB verwendet.

mainVolume

object (AzureDiskTemplate)

Optional. Konfiguration in Bezug auf das Haupt-Volume, das für jedes Replikat der Steuerungsebene bereitgestellt wird. Im Hauptvolume wird der gesamte etcd-Status des Clusters gespeichert.

Wenn nicht angegeben, wird standardmäßig eine Azure Disk mit 8 GiB verwendet.

databaseEncryption

object (AzureDatabaseEncryption)

Optional. Konfiguration im Zusammenhang mit der Verschlüsselung von Secrets auf Anwendungsebene.

proxyConfig

object (AzureProxyConfig)

Optional. Proxykonfiguration für ausgehenden HTTP(S)-Traffic.

configEncryption

object (AzureConfigEncryption)

Optional. Konfiguration im Zusammenhang mit der Verschlüsselung der VM-Konfiguration.

tags

map (key: string, value: string)

Optional. Eine Reihe von Tags, die auf alle zugrunde liegenden Azure-Ressourcen der Steuerungsebene angewendet werden sollen.

Ein Objekt, das eine Liste von "key": value-Paaren enthält. Beispiel: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

replicaPlacements[]

object (ReplicaPlacement)

Optional. Konfiguration für die Platzierung der Replikate der Steuerungsebene.

Es können bis zu drei Instanzen für die Replikaplatzierung angegeben werden. Wenn „replicaPlacements“ festgelegt ist, werden die Instanzen für die Replikatplatzierung so gleichmäßig wie möglich auf die drei Replikate der Steuerungsebene angewendet.

endpointSubnetId

string

Optional. Die ARM-ID des Subnetzes, in dem der Load-Balancer der Steuerungsebene bereitgestellt wird. Wenn nicht angegeben, wird standardmäßig „AzureControlPlane.subnet_id“ verwendet.

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

AzureDatabaseEncryption

Konfiguration im Zusammenhang mit der Verschlüsselung von Secrets auf Anwendungsebene.

Anthos-Cluster on Azure verschlüsseln Ihre Kubernetes-Daten im Ruhezustand in etcd mit Azure Key Vault.

JSON-Darstellung
{
  "keyId": string
}
Felder
keyId

string

Erforderlich. Die ARM-ID des Azure Key Vault-Schlüssels zum Verschlüsseln / Entschlüsseln von Daten.

Beispiel: /subscriptions/<subscription-id>/resourceGroups/<resource-group-id>/providers/Microsoft.KeyVault/vaults/<key-vault-id>/keys/<key-name>-Verschlüsselung verwendet immer die neueste Version des Schlüssels. Eine bestimmte Version wird daher nicht unterstützt.

ReplicaPlacement

Konfiguration für die Platzierung eines Replikats der Steuerungsebene.

JSON-Darstellung
{
  "subnetId": string,
  "azureAvailabilityZone": string
}
Felder
subnetId

string

Erforderlich. Für ein bestimmtes Replikat die ARM-ID des Subnetzes, in dem die VM der Steuerungsebene bereitgestellt wird. Es muss sich um ein Subnetz unter dem virtuellen Netzwerk in der Clusterkonfiguration handeln.

azureAvailabilityZone

string

Erforderlich. Die Azure-Verfügbarkeitszone, in der die VM der Steuerungsebene und die ETCD-Festplatte für ein bestimmtes Replikat bereitgestellt werden.

AzureAuthorization

Konfiguration, die sich auf die RBAC-Einstellungen des Clusters bezieht.

JSON-Darstellung
{
  "adminUsers": [
    {
      object (AzureClusterUser)
    }
  ],
  "adminGroups": [
    {
      object (AzureClusterGroup)
    }
  ]
}
Felder
adminUsers[]

object (AzureClusterUser)

Optional. Nutzer, die Vorgänge als Clusteradministrator ausführen können Es wird ein verwaltetes ClusterRoleBinding erstellt, um den Nutzern die ClusterRole cluster-admin zu gewähren. Es können bis zu zehn Administratornutzer angegeben werden.

Weitere Informationen zu RBAC finden Sie unter https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles.

adminGroups[]

object (AzureClusterGroup)

Optional. Gruppen von Nutzern, die Vorgänge als Clusteradministrator ausführen können Es wird eine verwaltete ClusterRoleBinding erstellt, um den Gruppen die cluster-admin-ClusterRole zuzuweisen. Es können bis zu zehn Administratorgruppen angegeben werden.

Weitere Informationen zu RBAC finden Sie unter https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles.

AzureClusterUser

Identitäten eines Subjekts vom Typ „Nutzer“ für Azure-Cluster.

JSON-Darstellung
{
  "username": string
}
Felder
username

string

Erforderlich. Der Name des Nutzers, z.B. my-gcp-id@gmail.com.

AzureClusterGroup

Identitäten eines Subjekts vom Gruppentyp für Azure-Cluster.

JSON-Darstellung
{
  "group": string
}
Felder
group

string

Erforderlich. Der Name der Gruppe, z.B. my-group@domain.com.

AzureServicesAuthentication

Authentifizierungskonfiguration für die Verwaltung von Azure-Ressourcen.

JSON-Darstellung
{
  "tenantId": string,
  "applicationId": string
}
Felder
tenantId

string

Erforderlich. Die Mandanten-ID von Azure Active Directory.

applicationId

string

Erforderlich. Die Azure Active Directory-Anwendungs-ID.

Bundesland

Der Lebenszyklusstatus des Clusters.

Enums
STATE_UNSPECIFIED Nicht festgelegt.
PROVISIONING Der Status „PROVISIONING“ gibt an, dass der Cluster erstellt wird.
RUNNING Der Status „RUNNING“ gibt an, dass der Cluster erstellt wurde und vollständig nutzbar ist.
RECONCILING Der Status „RECONCILING“ gibt an, dass aktiv an dem Cluster gearbeitet wird, z. B. an einem Upgrade der Replikate der Steuerungsebene.
STOPPING Der Status STOPPING gibt an, dass der Cluster gelöscht wird.
ERROR Der Status „ERROR“ gibt an, dass sich der Cluster in einem nicht behebbaren Zustand befindet.
DEGRADED Der Status „DEGRADED“ gibt an, dass zum Wiederherstellen der vollen Funktionalität des Clusters eine Nutzeraktion erforderlich ist.

AzureClusterResources

Verwaltete Azure-Ressourcen für den Cluster.

Die Werte können sich je nach Status des Clusters ändern und leer sein.

JSON-Darstellung
{
  "networkSecurityGroupId": string,
  "controlPlaneApplicationSecurityGroupId": string
}
Felder
networkSecurityGroupId

string

Nur Ausgabe. Die ARM-ID der Netzwerksicherheitsgruppe des Clusters.

controlPlaneApplicationSecurityGroupId

string

Nur Ausgabe. Die ARM-ID der Anwendungssicherheitsgruppe der Steuerungsebene.

AzureClusterError

AzureClusterError beschreibt Fehler, die in Azure-Clustern gefunden wurden.

JSON-Darstellung
{
  "message": string
}
Felder
message

string

Eine nutzerfreundliche Beschreibung des Fehlers.

Methoden

create
(deprecated)

Erstellt eine neue AzureCluster-Ressource in einem bestimmten Google Cloud-Projekt und einer bestimmten Region.

delete
(deprecated)

Löscht eine bestimmte AzureCluster-Ressource.

generateAzureAccessToken
(deprecated)

Generiert ein kurzlebiges Zugriffstoken für die Authentifizierung bei einer bestimmten AzureCluster-Ressource.

generateAzureClusterAgentToken
(deprecated)

Generiert ein Zugriffstoken für einen Cluster-Agent.

get
(deprecated)

Beschreibt eine bestimmte AzureCluster-Ressource.

getJwks
(deprecated)

Ruft die öffentliche Komponente der Clustersignaturschlüssel im JSON Web Key-Format ab.

list
(deprecated)

Listet alle AzureCluster-Ressourcen in einem bestimmten Google Cloud-Projekt und einer bestimmten Region auf.

patch
(deprecated)

Aktualisiert ein AzureCluster.