REST Resource: projects.locations.memberships

Ressource: Mitgliedschaft

Die Mitgliedschaft enthält Informationen zu einem Mitgliedscluster.

JSON-Darstellung
{
  "name": string,
  "labels": {
    string: string,
    ...
  },
  "description": string,
  "state": {
    object (MembershipState)
  },
  "authority": {
    object (Authority)
  },
  "createTime": string,
  "updateTime": string,
  "deleteTime": string,
  "externalId": string,
  "lastConnectionTime": string,
  "uniqueId": string,
  "infrastructureType": enum (Membership.InfrastructureType),
  "monitoringConfig": {
    object (MonitoringConfig)
  },

  // Union field type can be only one of the following:
  "endpoint": {
    object (MembershipEndpoint)
  }
  // End of list of possible types for union field type.
}
Felder
name

string

Nur Ausgabe. Der vollständige, eindeutige Name dieser Mitgliedschaftsressource im Format projects/*/locations/*/memberships/{membershipId}, der während der Erstellung festgelegt wurde.

membershipId muss ein gültiges RFC 1123-konformes DNS-Label sein:

  1. Maximal 63 Zeichen.
  2. Er muss aus alphanumerischen Kleinbuchstaben oder - bestehen.
  3. Er muss mit einem alphanumerischen Zeichen beginnen und enden.

Dies kann als regulärer Ausdruck [a-z0-9]([-a-z0-9]*[a-z0-9])? mit einer maximalen Länge von 63 Zeichen ausgedrückt werden.

labels

map (key: string, value: string)

Optional. GCP-Labels für diese Mitgliedschaft.

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

description

string

Optional. Beschreibung dieser Mitgliedschaft. Sie ist auf maximal 63 Zeichen beschränkt. Muss mit dem regulären Ausdruck [a-zA-Z0-9][a-zA-Z0-9_\-\.\ ]* übereinstimmen.

state

object (MembershipState)

Nur Ausgabe. Status der Mitgliedschaftsressource.

authority

object (Authority)

Optional. Arbeitslasten aus dieser Mitgliedschaft identifizieren. Weitere Informationen finden Sie in der Dokumentation zu Workload Identity: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity

createTime

string (Timestamp format)

Nur Ausgabe. Wann die Mitgliedschaft erstellt wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Nur Ausgabe. Wann die Mitgliedschaft zuletzt aktualisiert wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

deleteTime

string (Timestamp format)

Nur Ausgabe. Wann die Mitgliedschaft gelöscht wurde.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

externalId

string

Optional. Eine extern generierte und verwaltete ID für diese Mitgliedschaft. Diese ID kann nach dem Erstellen geändert werden. Das wird jedoch nicht empfohlen. Bei GKE-Clustern wird externalId von der Hub API verwaltet. Aktualisierungen werden ignoriert.

Die ID muss mit dem regulären Ausdruck [a-zA-Z0-9][a-zA-Z0-9_\-\.]* übereinstimmen.

Wenn diese Mitgliedschaft einen Kubernetes-Cluster darstellt, sollte dieser Wert auf die UID des Namespace-Objekts kube-system festgelegt werden.

lastConnectionTime

string (Timestamp format)

Nur Ausgabe. Bei Clustern, die Connect verwenden, der Zeitstempel der letzten Verbindung zu Google Cloud. Diese Uhrzeit wird alle paar Minuten aktualisiert, nicht kontinuierlich. Bei Clustern, die GKE Connect nicht verwenden oder nie erfolgreich verbunden wurden, wird dieses Feld nicht festgelegt.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

uniqueId

string

Nur Ausgabe. Von Google generierte UUID für diese Ressource. Dies ist für alle Mitgliedschaftsressourcen eindeutig. Wenn eine Mitgliedschaftsressource gelöscht und eine andere Ressource mit demselben Namen erstellt wird, erhält sie eine andere eindeutige ID.

infrastructureType

enum (Membership.InfrastructureType)

Optional. Der Infrastrukturtyp, in dem diese Mitgliedschaft ausgeführt wird.

monitoringConfig

object (MonitoringConfig)

Optional. Die Informationen zur Monitoring-Konfiguration für diese Mitgliedschaft.

Union-Feld type. Der Ressourcentyp, der durch diese Mitgliedschaft type dargestellt wird, kann nur einer der folgenden sein:
endpoint

object (MembershipEndpoint)

Optional. Endpunktinformationen zum Erreichen dieses Mitglieds.

MembershipEndpoint

MemberEndpoint enthält Informationen, die zum Kontakt mit einer Kubernetes API, einem Endpunkt und zusätzlichen Kubernetes-Metadaten erforderlich sind.

JSON-Darstellung
{
  "kubernetesMetadata": {
    object (KubernetesMetadata)
  },
  "kubernetesResource": {
    object (KubernetesResource)
  },

  // Union field type can be only one of the following:
  "gkeCluster": {
    object (GkeCluster)
  },
  "onPremCluster": {
    object (OnPremCluster)
  },
  "multiCloudCluster": {
    object (MultiCloudCluster)
  },
  "edgeCluster": {
    object (EdgeCluster)
  },
  "applianceCluster": {
    object (ApplianceCluster)
  }
  // End of list of possible types for union field type.
}
Felder
kubernetesMetadata

object (KubernetesMetadata)

Nur Ausgabe. Nützliche Kubernetes-spezifische Metadaten.

kubernetesResource

object (KubernetesResource)

Optional. Die Kubernetes-Ressourcen im Cluster, die auf einen korrekt registrierten Cluster im stabilen Zustand angewendet werden sollen. Diese Ressourcen:

  • Der Cluster muss ausschließlich bei einer Hub-Mitgliedschaft registriert sein.
  • Informationen zum Weitergeben des Arbeitslastpools, die im Feld "Mitgliedschaftsstelle" verfügbar sind.
  • Sorgen Sie für eine ordnungsgemäße Erstkonfiguration der Hub-Standardfeatures.
Union-Feld type. Clusterinformationen des registrierten Clusters. Für type ist nur einer der folgenden Werte zulässig:
gkeCluster

object (GkeCluster)

Optional. Spezifische Informationen für einen GKE-auf-GCP-Cluster

onPremCluster

object (OnPremCluster)

Optional. Spezifische Informationen für einen GKE On-Prem-Cluster Ein lokaler Nutzercluster, der keinen resourceLink hat, darf dieses Feld nicht verwenden. Er sollte stattdessen einen "null"-"Typ" haben.

multiCloudCluster

object (MultiCloudCluster)

Optional. Spezifische Informationen für einen GKE-Multi-Cloud-Cluster

edgeCluster

object (EdgeCluster)

Optional. Spezifische Informationen für einen Google Edge-Cluster

applianceCluster

object (ApplianceCluster)

Optional. Spezifische Informationen für einen GDC Edge-Appliance-Cluster.

GkeCluster

GkeCluster enthält für GKE-Cluster spezifische Informationen.

JSON-Darstellung
{
  "resourceLink": string,
  "clusterMissing": boolean
}
Felder
clusterMissing

boolean

Nur Ausgabe. Wenn „clusterMissing“ festgelegt ist, bedeutet dies, dass der GKE-Cluster nicht mehr in der GKE-Steuerungsebene vorhanden ist.

OnPremCluster

OnPremCluster enthält spezifische Informationen für GKE On-Prem-Cluster.

JSON-Darstellung
{
  "resourceLink": string,
  "clusterMissing": boolean,
  "adminCluster": boolean,
  "clusterType": enum (OnPremCluster.ClusterType)
}
Felder
clusterMissing

boolean

Nur Ausgabe. Wenn „clusterMissing“ festgelegt ist, bedeutet dies, dass die API(gkeonprem.googleapis.com)-Ressource für diesen GKE On-Prem-Cluster nicht mehr vorhanden ist.

adminCluster

boolean

Nicht veränderbar. Ob der Cluster ein Administratorcluster ist.

clusterType

enum (OnPremCluster.ClusterType)

Nicht veränderbar. Der Typ des lokalen Clusters.

OnPremCluster.ClusterType

ClusterType beschreibt den Typ des lokalen Clusters.

Enums
CLUSTERTYPE_UNSPECIFIED Der ClusterType ist nicht festgelegt.
BOOTSTRAP Der ClusterType ist Bootstrap-Cluster.
HYBRID Der ClusterType ist ein Bare-Metal-Hybridcluster.
STANDALONE Der ClusterType ist ein einzelner Bare-Metal-Cluster.
USER Der ClusterType ist ein Nutzercluster.

MultiCloudCluster

MultiCloudCluster enthält spezifische Informationen für GKE-Multi-Cloud-Cluster.

JSON-Darstellung
{
  "resourceLink": string,
  "clusterMissing": boolean
}
Felder
clusterMissing

boolean

Nur Ausgabe. Wenn „clusterMissing“ festgelegt ist, bedeutet dies, dass die API(gkemulticloud.googleapis.com)-Ressource für diesen GKE-Multi-Cloud-Cluster nicht mehr vorhanden ist.

EdgeCluster

EdgeCluster enthält spezifische Informationen für Google Edge-Cluster.

JSON-Darstellung
{
  "resourceLink": string
}
Felder

ApplianceCluster

ApplianceCluster enthält Informationen zu GDC Edge-Appliance-Clustern.

JSON-Darstellung
{
  "resourceLink": string
}
Felder

KubernetesMetadata

KubernetesMetadata stellt Informationsmetadaten für Mitgliedschaften bereit, die Kubernetes-Cluster darstellen.

JSON-Darstellung
{
  "kubernetesApiServerVersion": string,
  "nodeProviderId": string,
  "nodeCount": integer,
  "vcpuCount": integer,
  "memoryMb": integer,
  "updateTime": string
}
Felder
kubernetesApiServerVersion

string

Nur Ausgabe. Versionsstring des Kubernetes API-Servers, wie von '/version' gemeldet.

nodeProviderId

string

Nur Ausgabe. Knotenanbieter-ID, wie vom ersten Knoten in der Liste der Knoten auf dem Kubernetes-Endpunkt gemeldet. Auf Kubernetes-Plattformen, die Null-Knoten-Cluster unterstützen (z. B. GKE-on-GCP), ist der nodeCount null und die nodeProviderId leer.

nodeCount

integer

Nur Ausgabe. Knotenanzahl, wie von Kubernetes-Knotenressourcen gemeldet.

vcpuCount

integer

Nur Ausgabe. Anzahl der vCPUs, wie von Kubernetes-Knotenressourcen gemeldet.

memoryMb

integer

Nur Ausgabe. Die gesamte Speicherkapazität, angegeben durch die Summe aller Kubernetes-Knotenressourcen, definiert in MB.

updateTime

string (Timestamp format)

Nur Ausgabe. Der Zeitpunkt der letzten Aktualisierung dieser Details. Diese updateTime unterscheidet sich von der updateTime auf Mitgliedschaftsebene, da EndpointDetails intern für API-Nutzer aktualisiert werden.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

KubernetesResource

KubernetesResource enthält die YAML-Manifeste und -Konfigurationen für die Kubernetes-Mitgliedschaftsressourcen im Cluster. Nach „memberships.create“ oder „memberships.patch“ sollten diese Ressourcen im Cluster noch einmal angewendet werden.

JSON-Darstellung
{
  "membershipCrManifest": string,
  "membershipResources": [
    {
      object (ResourceManifest)
    }
  ],
  "connectResources": [
    {
      object (ResourceManifest)
    }
  ],
  "resourceOptions": {
    object (ResourceOptions)
  }
}
Felder
membershipCrManifest

string

Nur Eingabe Die YAML-Darstellung der Mitgliedschaft-CR. Dieses Feld wird für GKE-Cluster ignoriert, in denen Hub die CR direkt lesen kann.

Aufrufer sollten die CR angeben, die derzeit im Cluster während memberships.create oder memberships.patch vorhanden ist, oder dieses Feld leer lassen, wenn keine vorhanden sind. Das CR-Manifest wird verwendet, um zu prüfen, ob der Cluster nicht mit einer anderen Mitgliedschaft registriert wurde.

membershipResources[]

object (ResourceManifest)

Nur Ausgabe. Zusätzliche Kubernetes-Ressourcen, die nach der Erstellung der Mitgliedschaft und nach jeder Aktualisierung auf den Cluster angewendet werden müssen.

Dieses Feld wird nur in der Mitgliedschaft befüllt, die von einem erfolgreichen Vorgang mit langer Ausführungszeit von „memberships.create“ oder „memberships.patch“ zurückgegeben wurde. Es wird bei normalen „memberships.get“- oder „memberships.list“-Anfragen nicht ausgefüllt. Um das Ressourcenmanifest nach der ersten Registrierung abzurufen, sollte der Aufrufer einen memberships.patch-Aufruf mit einer leeren Feldmaske ausführen.

connectResources[]

object (ResourceManifest)

Nur Ausgabe. Kubernetes-Ressourcen zur Installation des GKE Connect-Agents

Dieses Feld wird nur in der Mitgliedschaft befüllt, die von einem erfolgreichen Vorgang mit langer Ausführungszeit von „memberships.create“ oder „memberships.patch“ zurückgegeben wurde. Es wird bei normalen „memberships.get“- oder „memberships.list“-Anfragen nicht ausgefüllt. Um das Ressourcenmanifest nach der ersten Registrierung abzurufen, sollte der Aufrufer einen memberships.patch-Aufruf mit einer leeren Feldmaske ausführen.

resourceOptions

object (ResourceOptions)

Optional. Optionen für die Generierung von Kubernetes-Ressourcen.

ResourceManifest

ResourceManifest stellt eine einzelne Kubernetes-Ressource dar, die auf den Cluster angewendet werden soll.

JSON-Darstellung
{
  "manifest": string,
  "clusterScoped": boolean
}
Felder
manifest

string

YAML-Manifest der Ressource.

clusterScoped

boolean

Ob die im Manifest angegebene Ressource clusterScoped ist. Wenn kein Wert festgelegt ist, wird davon ausgegangen, dass das Manifest Namespace-bezogen ist.

Dieses Feld wird für die REST-Zuordnung verwendet, wenn die Ressource in einem Cluster angewendet wird.

ResourceOptions

ResourceOptions stellen Optionen für die Generierung von Kubernetes-Ressourcen dar.

JSON-Darstellung
{
  "connectVersion": string,
  "v1beta1Crd": boolean,
  "k8sVersion": string
}
Felder
connectVersion

string

Optional. Die Connect-Agent-Version, die für connectResources verwendet werden soll. Die Standardeinstellung ist die neueste GKE Connect-Version. Die Version muss eine derzeit unterstützte Version sein. Veraltete Versionen werden abgelehnt.

v1beta1Crd

boolean

Optional. Verwenden Sie apiextensions/v1beta1 anstelle von apiextensions/v1 für CustomResourceDefinition-Ressourcen. Diese Option sollte für Cluster mit Kubernetes API-Serverversionen < 1.16 festgelegt werden.

k8sVersion

string

Optional. Hauptversion des Kubernetes-Clusters. Damit wird lediglich ermittelt, welche Version für die CustomResourceDefinition-Ressourcen apiextensions/v1beta1 oder apiextensions/v1 verwendet werden soll.

MembershipState

Status der Mitgliedschaftsressource.

JSON-Darstellung
{
  "code": enum (MembershipState.Code),
  "description": string,
  "updateTime": string
}
Felder
code

enum (MembershipState.Code)

Nur Ausgabe. Der aktuelle Status der Mitgliedschaftsressource.

description
(deprecated)

string

Dieses Feld wird nie vom Hub-Dienst festgelegt.

updateTime
(deprecated)

string (Timestamp format)

Dieses Feld wird nie vom Hub-Dienst festgelegt.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

MembershipState.Code

Der Code beschreibt den Status einer Mitgliedschaftsressource.

Enums
CODE_UNSPECIFIED Der Code ist nicht festgelegt.
CREATING Der Cluster wird registriert.
READY Der Cluster ist registriert.
DELETING Der Cluster wird abgemeldet.
UPDATING Die Mitgliedschaft wird aktualisiert.
SERVICE_UPDATING Die Mitgliedschaft wird vom Hub-Dienst aktualisiert.

Authority-Header

Die Zertifizierungsstelle codiert, wie Google Identitäten aus dieser Mitgliedschaft erkennt. Weitere Informationen finden Sie in der Dokumentation zu Workload Identity: https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity

JSON-Darstellung
{
  "issuer": string,
  "workloadIdentityPool": string,
  "identityProvider": string,
  "oidcJwks": string
}
Felder
issuer

string

Optional. Der URI eines JSON Web Token-Ausstellers (JWT). issuer muss mit https:// beginnen und eine gültige URL mit einer Länge von weniger als 2.000 Zeichen sein.

Wenn festgelegt, lässt Google gültige OIDC-Tokens von diesem Aussteller zur Authentifizierung im WorkloadIdentityPool zu. Für diesen URI wird die OIDC-Erkennung durchgeführt, um Tokens vom Aussteller zu validieren.

Durch das Löschen von issuer wird Workload Identity deaktiviert. issuer kann nicht direkt geändert werden. Es muss gelöscht (und Workload Identity deaktiviert sein), bevor ein neuer Aussteller verwendet (und Workload Identity wieder aktiviert wird).

workloadIdentityPool

string

Nur Ausgabe. Der Name des Workload Identity-Pools, in dem issuer erkannt wird.

Es gibt einen einzelnen Workload Identity-Pool pro Hub, der von allen Mitgliedschaften geteilt wird, die zu diesem Hub gehören. Bei einem in {PROJECT_ID} gehosteten Hub ist das Arbeitslastpoolformat {PROJECT_ID}.hub.id.goog. Dies kann sich jedoch in neueren Versionen dieser API ändern.

identityProvider

string

Nur Ausgabe. Einen Identitätsanbieter, der die issuer im Workload Identity-Pool widerspiegelt.

oidcJwks

string (bytes format)

Optional. OIDC-Bestätigungsschlüssel für diese Mitgliedschaft im JWKS-Format (RFC 7517).

Wenn dieses Feld festgelegt ist, wird die OIDC-Erkennung NICHT für issuer ausgeführt. Stattdessen werden OIDC-Tokens mit diesem Feld validiert.

Ein base64-codierter String.

Membership.InfrastructureType

Gibt den Infrastrukturtyp einer Mitgliedschaft an. Der Infrastrukturtyp wird von Hub verwendet, um das infrastrukturspezifische Verhalten zu steuern, einschließlich der Preise.

Bei jeder GKE-Distribution (auf der GCP, lokal, auf X, ...) wird dieses Feld automatisch festgelegt. Kunden mit angehängten Clustern sollten jedoch bei der Registrierung einen Typ angeben.

Enums
INFRASTRUCTURE_TYPE_UNSPECIFIED Es wurde kein Typ angegeben. Für einige Hub-Funktionen muss möglicherweise ein Typ angegeben werden. Mitgliedschaften mit diesem Wert werden nicht unterstützt.
ON_PREM Private Infrastruktur, die dem Kunden gehört oder von diesem betrieben wird Dazu gehören GKE-Distributionen wie GKE-OnPrem und GKE-OnBareMetal.
MULTI_CLOUD Öffentliche Cloud-Infrastruktur.

MonitoringConfig

MonitoringConfig informiert flottenbasierte Anwendungen/Dienste/UIs darüber, wie die Messwerte für den zugrunde liegenden Cluster an Cloud-Monitoring-Dienste gemeldet werden. Ein Wert kann von leer auf nicht leer gesetzt, aber nicht direkt angepasst werden, um zu verhindern, dass versehentlich die Kontinuität von Messwerten unterbrochen wird.

JSON-Darstellung
{
  "projectId": string,
  "location": string,
  "cluster": string,
  "kubernetesMetricsPrefix": string,
  "clusterHash": string
}
Felder
projectId

string

Optional. Projekt zum Melden von Messwerten

location

string

Optional. Ort zum Melden von Messwerten

cluster

string

Optional. Zum Melden von Messwerten verwendeter Clustername. Bei Anthos on VMWare/Baremetal/MultiCloud-Clustern hat die Datei das Format {clusterType}/{clusterName}, z.B. "awsClusters/cluster_1".

kubernetesMetricsPrefix

string

Optional. Kubernetes-Systemmesswerte werden, sofern verfügbar, in dieses Präfix geschrieben. Standardmäßig wird in GKE „kubernetes.io“ und für Anthos „kubernetes.io/anthos“ verwendet. Hinweis: Anthos MultiCloud hat heute das Präfix „kubernetes.io“, wird aber unter kubernetes.io/anthos migriert.

clusterHash

string

Optional. Bei GKE- und Multi-Cloud-Clustern ist dies die UUID der Clusterressource. Für VMWare- und Baremetal-Cluster ist dies die kube-system-UID.

Methoden

create

Erstellt eine neue Mitgliedschaft.

delete

Entfernt eine Mitgliedschaft.

generateConnectManifest

Generiert das Manifest für die Bereitstellung des GKE Connect-Agents.

generateExclusivityManifest

GenerateExclusivityManifest generiert die Manifeste, um bei Bedarf die Exklusivitätsartefakte im Cluster zu aktualisieren.

get

Ruft die Details einer Mitgliedschaft ab.

getIamPolicy

Ruft die Richtlinie für die Zugriffssteuerung für eine Ressource ab.

list

Listet Mitgliedschaften in einem angegebenen Projekt und an einem angegebenen Standort auf.

patch

Aktualisiert eine vorhandene Mitgliedschaft.

setIamPolicy

Legt die Richtlinie für die Zugriffssteuerung für die angegebene Ressource fest.

testIamPermissions

Gibt die Berechtigungen des Aufrufers für die angegebene Ressource zurück.

validateExclusivity

ValidateExclusivity validiert den Status der Exklusivität im Cluster.