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 innerhalb 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 der AzureClient, die die Authentifizierungskonfiguration für die Verbindung der Anthos Multi-Cloud API mit Azure APIs enthält.

Es muss entweder „azureClient“ oder „azureServicesAuthentication“ 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.

Es muss entweder „azureClient“ oder „azureServicesAuthentication“ 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.

Es wird RFC 3339 verwendet, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Glieder mit Dezimalstellen enthält. Andere Achsenbezeichnungen als „Z“ sind ebenfalls zulässig. 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.

Es wird RFC 3339 verwendet, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Glieder mit Dezimalstellen enthält. Andere Achsenbezeichnungen als „Z“ sind ebenfalls zulässig. 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 zusammen 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 X509-Zertifikat des Cluster-Stammzertifikats.

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 VNets, das mit Ihrem Cluster verknüpft 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 steht für die Konfigurationen der Steuerungsebene.

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 durch Aufrufen von locations.getAzureServerConfig.

subnetId

string

Optional. Die ARM-ID des Standard-Subnetzes für die Steuerungsebene. Die VMs der Steuerungsebene werden in diesem Subnetz bereitgestellt, sofern nicht AzureControlPlane.replica_placements 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 es 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 Größe der Azure-VM. Beispiel: Standard_DS2_v2.

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

Wenn nicht angegeben, lautet die Standardeinstellung Standard_DS2_v2.

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 das Stamm-Volume, das für jedes Replikat der Steuerungsebene bereitgestellt wird.

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

mainVolume

object (AzureDiskTemplate)

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

Wenn nicht angegeben, wird standardmäßig eine Azure-Festplatte 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.

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.

Sie können bis zu drei Instanzen für das Replikations-Placement angeben. Wenn „replicaPlacements“ festgelegt ist, werden die Instanzen der 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 ruhenden Kubernetes-Daten 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> Bei der Verschlüsselung wird immer die neueste Version des Schlüssels verwendet. Eine bestimmte Version wird daher nicht unterstützt.

ReplicaPlacement

Konfiguration für die Platzierung eines Steuerungsebenen-Repliks.

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. Achten Sie darauf, dass es sich in der Clusterkonfiguration um ein Subnetz des virtuellen Netzwerks handelt.

azureAvailabilityZone

string

Erforderlich. Für ein bestimmtes Replikat die Azure-Verfügbarkeitszone, in der die VM der Steuerungsebene und das ETCD-Laufwerk bereitgestellt werden sollen.

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 eine verwaltete ClusterRoleBinding erstellt, um den Nutzern die ClusterRole cluster-admin zu gewähren. Es können bis zu zehn Administratoren 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 zu gewähren. 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 Nutzersubjekts 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 Typ „Gruppe“ 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 Azure Active Directory-Mandanten-ID.

applicationId

string

Erforderlich. Die Azure Active Directory-Anwendungs-ID.

Bundesland

Der Lebenszyklusstatus des Clusters.

Enums
STATE_UNSPECIFIED Nicht definiert.
PROVISIONING Der Status „Bereitstellung“ 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 „ABGLEICHEND“ gibt an, dass im Cluster aktiv etwas ausgeführt wird, z. B. ein Upgrade der Steuerungsebenen-Replikate.
STOPPING Der Status „STOPPING“ gibt an, dass der Cluster gelöscht wird.
ERROR Der Status „ERROR“ gibt an, dass sich der Cluster in einem fehlerhaften Zustand befindet, der nicht wiederhergestellt werden kann.
DEGRADED Der Status „BESCHÄDIGT“ gibt an, dass für den Cluster eine Nutzeraktion erforderlich ist, um die volle Funktionalität wiederherzustellen.

AzureClusterResources

Verwaltete Azure-Ressourcen für den Cluster.

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

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 in Azure-Clustern.

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, um sich bei einer bestimmten AzureCluster-Ressource zu authentifizieren.

generateAzureClusterAgentToken
(deprecated)

Generiert ein Zugriffstoken für einen Cluster-Agenten.

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