REST Resource: projects.locations.awsClusters

Ressource: AwsCluster

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

JSON-Darstellung
{
  "name": string,
  "description": string,
  "networking": {
    object (AwsClusterNetworking)
  },
  "awsRegion": string,
  "controlPlane": {
    object (AwsControlPlane)
  },
  "authorization": {
    object (AwsAuthorization)
  },
  "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)
  },
  "loggingConfig": {
    object (LoggingConfig)
  },
  "errors": [
    {
      object (AwsClusterError)
    }
  ],
  "monitoringConfig": {
    object (MonitoringConfig)
  },
  "binaryAuthorization": {
    object (BinaryAuthorization)
  }
}
Felder
name

string

Der Name dieser Ressource.

Clusternamen haben das Format projects/<project-number>/locations/<region>/awsClusters/<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.

networking

object (AwsClusterNetworking)

Erforderlich. Clusterweite Netzwerkkonfiguration.

awsRegion

string

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

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

controlPlane

object (AwsControlPlane)

Erforderlich. Konfiguration, die sich auf die Clustersteuerungsebene bezieht.

authorization

object (AwsAuthorization)

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

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. Der Schlüssel kann 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.

loggingConfig

object (LoggingConfig)

Optional. Logging-Konfiguration für diesen Cluster.

errors[]

object (AwsClusterError)

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

monitoringConfig

object (MonitoringConfig)

Optional. Monitoring-Konfiguration für diesen Cluster.

binaryAuthorization

object (BinaryAuthorization)

Optional. Binärautorisierungskonfiguration für diesen Cluster.

AwsClusterNetworking

ClusterNetworking definiert eine clusterweite Netzwerkkonfiguration.

Anthos-Cluster in AWS werden in einer einzelnen VPC ausgeführt. Dazu gehören Replikate der Steuerungsebene und Knoten von Knotenpools.

JSON-Darstellung
{
  "vpcId": string,
  "podAddressCidrBlocks": [
    string
  ],
  "serviceAddressCidrBlocks": [
    string
  ],
  "perNodePoolSgRulesDisabled": boolean
}
Felder
vpcId

string

Erforderlich. Die dem Cluster zugeordnete VPC. Alle Komponentencluster (d.h. Steuerungsebene und Knotenpools) werden in einer einzelnen VPC ausgeführt.

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

podAddressCidrBlocks[]

string

Erforderlich. Allen Pods im Cluster wird eine 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. Allen Diensten im Cluster wird eine 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.

perNodePoolSgRulesDisabled

boolean

Optional. Deaktivieren Sie die Sicherheitsgruppenregeln für Subnetze pro Knotenpool in der Sicherheitsgruppe der Steuerungsebene. Wenn diese Option auf „true“ gesetzt ist, müssen Sie auch eine oder mehrere Sicherheitsgruppen angeben, die dafür sorgen, dass Knotenpools Anfragen an die Steuerungsebene über TCP/443 und TCP/8132 senden können. Andernfalls sind Knotenpools möglicherweise nicht verfügbar.

AwsControlPlane

ControlPlane definiert gemeinsame Parameter zwischen Knoten der Steuerungsebene.

JSON-Darstellung
{
  "version": string,
  "instanceType": string,
  "sshConfig": {
    object (AwsSshConfig)
  },
  "subnetIds": [
    string
  ],
  "securityGroupIds": [
    string
  ],
  "iamInstanceProfile": string,
  "rootVolume": {
    object (AwsVolumeTemplate)
  },
  "mainVolume": {
    object (AwsVolumeTemplate)
  },
  "databaseEncryption": {
    object (AwsDatabaseEncryption)
  },
  "tags": {
    string: string,
    ...
  },
  "awsServicesAuthentication": {
    object (AwsServicesAuthentication)
  },
  "proxyConfig": {
    object (AwsProxyConfig)
  },
  "configEncryption": {
    object (AwsConfigEncryption)
  },
  "instancePlacement": {
    object (AwsInstancePlacement)
  }
}
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.getAwsServerConfig aufrufen.

instanceType

string

Optional. Der AWS-Instanztyp.

Wenn nicht angegeben, wird ein Standardwert basierend auf der Version des Clusters verwendet.

sshConfig

object (AwsSshConfig)

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

subnetIds[]

string

Erforderlich. Die Liste der Subnetze, in denen Replikate der Steuerungsebene ausgeführt werden. Ein Replikat wird in jedem Subnetz bereitgestellt. Es können bis zu drei Werte angegeben werden. Jedes Subnetz muss sich in einer anderen AWS-Verfügbarkeitszone (Availability Zone, AZ) befinden.

securityGroupIds[]

string

Optional. Die IDs zusätzlicher Sicherheitsgruppen, die den Replikaten der Steuerungsebene hinzugefügt werden sollen. Die Anthos Multi-Cloud API erstellt und verwaltet automatisch Sicherheitsgruppen mit den Mindestregeln, die für einen funktionierenden Cluster erforderlich sind.

iamInstanceProfile

string

Erforderlich. Der Name oder ARN des AWS IAM-Instanzprofils, das jedem Replikat der Steuerungsebene zugewiesen werden soll.

rootVolume

object (AwsVolumeTemplate)

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

Volumes werden in der Verfügbarkeitszone bereitgestellt, die dem entsprechenden Subnetz zugeordnet ist.

Wenn nichts angegeben ist, wird standardmäßig 32 GiB mit dem GP2-Volume-Typ verwendet.

mainVolume

object (AwsVolumeTemplate)

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.

Volumes werden in der Verfügbarkeitszone bereitgestellt, die dem entsprechenden Subnetz zugeordnet ist.

Wenn nicht angegeben, wird standardmäßig 8 GiB mit dem GP2-Volume-Typ verwendet.

databaseEncryption

object (AwsDatabaseEncryption)

Erforderlich. Der ARN des AWS KMS-Schlüssels, der zum Verschlüsseln von Cluster-Secrets verwendet wird.

tags

map (key: string, value: string)

Optional. Eine Reihe von AWS-Ressourcentags, die auf alle zugrunde liegenden verwalteten AWS-Ressourcen übertragen werden.

Geben Sie höchstens 50 Paare mit alphanumerischen Zeichen, Leerzeichen und Symbolen (.+-=_:@/) an. Schlüssel können bis zu 127 Unicode-Zeichen enthalten. Werte können bis zu 255 Unicode-Zeichen enthalten.

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

awsServicesAuthentication

object (AwsServicesAuthentication)

Erforderlich. Authentifizierungskonfiguration für die Verwaltung von AWS-Ressourcen.

proxyConfig

object (AwsProxyConfig)

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

configEncryption

object (AwsConfigEncryption)

Erforderlich. Konfigurieren Sie die Verschlüsselung für Nutzerdaten.

instancePlacement

object (AwsInstancePlacement)

Optional. Die Platzierung, die für Instanzen der Steuerungsebene verwendet werden soll. Wenn nichts angegeben ist, wird die Standard-Tenancy der VPC verwendet.

AwsDatabaseEncryption

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

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

string

Erforderlich. Der ARN des AWS KMS-Schlüssels, der zum Verschlüsseln von Cluster-Secrets verwendet wird.

AwsServicesAuthentication

Authentifizierungskonfiguration für die Verwaltung von AWS-Ressourcen.

JSON-Darstellung
{
  "roleArn": string,
  "roleSessionName": string
}
Felder
roleArn

string

Erforderlich. Der Amazon Resource Name (ARN) der Rolle, die die Anthos Multi-Cloud API bei der Verwaltung von AWS-Ressourcen in Ihrem Konto übernimmt.

roleSessionName

string

Optional. Eine Kennung für die Sitzung mit der angenommenen Rolle.

Wenn nichts angegeben ist, wird standardmäßig multicloud-service-agent verwendet.

AwsAuthorization

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

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

object (AwsClusterUser)

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 (AwsClusterGroup)

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.

AwsClusterUser

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

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

string

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

AwsClusterGroup

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

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

string

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

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.

AwsClusterError

AwsClusterError beschreibt Fehler, die in AWS-Clustern gefunden wurden.

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

string

Eine nutzerfreundliche Beschreibung des Fehlers.

Methoden

create
(deprecated)

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

delete
(deprecated)

Löscht eine bestimmte AwsCluster-Ressource.

generateAwsAccessToken
(deprecated)

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

generateAwsClusterAgentToken
(deprecated)

Generiert ein Zugriffstoken für einen Cluster-Agent.

get
(deprecated)

Beschreibt eine bestimmte AwsCluster-Ressource.

getJwks
(deprecated)

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

list
(deprecated)

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

patch
(deprecated)

Aktualisiert ein AwsCluster.