REST Resource: projects.locations.awsClusters

Ressource: AwsCluster

Ein Anthos-Cluster, der auf 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.

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. 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 X509-Zertifikat des Cluster-Stammzertifikats.

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. Konfiguration der Binärautorisierung für diesen Cluster.

AwsClusterNetworking

ClusterNetworking definiert die clusterweite Netzwerkkonfiguration.

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

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

string

Erforderlich. Die VPC, die dem Cluster zugeordnet ist. 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 „wahr“ 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 für 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 durch Aufrufen von locations.getAwsServerConfig.

instanceType

string

Optional. Der AWS-Instanztyp.

Wenn keine Angabe erfolgt, wird ein Standardwert verwendet, der auf der Version des Clusters basiert.

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

Volumes werden in der Verfügbarkeitszone bereitgestellt, die mit dem entsprechenden Subnetz verknüpft ist.

Wenn nicht angegeben, wird standardmäßig 32 GiB mit dem Volumetyp „GP2“ verwendet.

mainVolume

object (AwsVolumeTemplate)

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.

Volumes werden in der Verfügbarkeitszone bereitgestellt, die mit dem entsprechenden Subnetz verknüpft ist.

Wenn keine Angabe gemacht wird, wird standardmäßig 8 GiB mit dem Volumetyp „GP2“ 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-Ressourcen-Tags, die auf alle zugrunde liegenden verwalteten AWS-Ressourcen angewendet werden sollen.

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. Verschlüsselung für Nutzerdaten konfigurieren

instancePlacement

object (AwsInstancePlacement)

Optional. Die Platzierung, die für Instanzen der Steuerungsebene verwendet werden soll. Wenn keine Angabe erfolgt, wird die Standardberechtigung 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 nicht angegeben, lautet die Standardeinstellung multicloud-service-agent.

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 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 (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 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.

AwsClusterUser

Identitäten eines Nutzersubjekts 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 Typ „Gruppe“ 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 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.

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

generateAwsClusterAgentToken
(deprecated)

Generiert ein Zugriffstoken für einen Cluster-Agenten.

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