Auf dieser Seite wird beschrieben, wie Sie Tags in Ihren angehängten GKE-Clustern erstellen und verwalten.
Übersicht
Ein Tag ist ein Schlüssel/Wert-Paar, das an eine Ressource in Google Cloudangehängt werden kann. Mit Tags können Sie Richtlinien abhängig davon zulassen, ob eine Ressource ein bestimmtes Tag hat.
Als Plattformadministrator können Sie Tags beispielsweise verwenden, um IAM-Rollen (Identity and Access Management) abhängig davon zu verknüpfen, ob ein Cluster ein bestimmtes Tag hat. Beispielsweise können Sie GKE so konfigurieren, dass Nutzern, die Auftragnehmer sind, automatisch Identitäts- und Zugriffsverwaltungsrollen zugewiesen werden, damit sie auf bestimmte Cluster zugreifen können, die normalerweise nur für Vollzeitmitarbeiter verfügbar sind.
Nach dem Erstellen eines Tags können Sie das Tag mithilfe einer Tag-Bindung als Schlüssel/Wert-Paar an eine Google Cloud -Ressource anhängen. Für jeden Schlüssel können Sie einen Wert an eine Ressource anhängen. Wenn Sie beispielsweise env:dev an Ihren Cluster angehängt haben, können Sie nicht env:prod oder env:test anhängen. Sie können jeder Ressource bis zu 50 Tags hinzufügen.
In mit GKE angehängten Clustern gibt es mehrere Methoden, um Ihre Ressourcen mit Annotationen zu versehen, wie in der folgenden Tabelle dargestellt:
| Anmerkungstyp | Level | Beschreibung | Beispiel |
|---|---|---|---|
| Tags | GKE-Cluster |
Richtlinien anhand des Tags zulassen oder ablehnen. Weitere Informationen finden Sie in der Resource Manager-Dokumentation unter Tags – Übersicht. |
Gewähren Sie Nutzern, die Auftragnehmer sind, automatisch Zugriff auf bestimmte Cluster, die normalerweise nur für Vollzeitmitarbeiter verfügbar sind. |
| GKE-Clusterlabels | GKE-Cluster |
Organisieren Sie GKE-Ressourcen, um die Nutzung und Abrechnung zu verfolgen. Weitere Informationen finden Sie unter Clusterlabels. |
Unterscheidung zwischen Clustern, die bestimmten Kostenstellen oder Teams in Ihrer Organisation gehören. |
| Kubernetes-Labels | GKE-Cluster |
Verknüpfen Sie Clusterkomponenten und -ressourcen miteinander und verwalten Sie den Ressourcenlebenszyklus. Weitere Informationen finden Sie unter Labels und Selektoren von Kubernetes. |
Arbeitslasten müssen auf Knoten mit bestimmten Labels geplant werden. |
Hinweise
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diesen Task verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit dem Befehl
gcloud components updateab. In früheren gcloud CLI-Versionen werden die Befehle in diesem Dokument möglicherweise nicht unterstützt.
Prüfen Sie, ob Sie die folgenden IAM-Rollen haben, um mit Tags zu arbeiten:
roles/resourcemanager.tagAdminroles/resourcemanager.tagUser
Informationen zu den durch diese Rollen gewährten Berechtigungen finden Sie unter Erforderliche Berechtigungen.
Tag-Schlüssel und -Werte erstellen
Bevor Sie ein Tag an Ihre GKE-Ressourcen anhängen können, müssen Sie das Tag erstellen und seine Werte konfigurieren. Informationen zum Erstellen von Tag-Schlüsseln und -Werten finden Sie in der Resource Manager-Dokumentation unter Tag erstellen und Tag-Werte hinzufügen.
Tags an einen Cluster anhängen
Sie können Tags an einen vorhandenen Cluster anhängen, wenn Sie die entsprechenden Berechtigungen haben. Verwenden Sie dazu die Google Cloud CLI, die Google Cloud Console oder die Tags API.
gcloud
Führen Sie den folgenden Befehl aus, um eine Tag-Bindung zum Anhängen eines Tags an einen Cluster zu erstellen:
gcloud resource-manager tags bindings create \
--tag-value=TAG_VALUE_ID \
--parent=RESOURCE_ID \
--location=CLUSTER_LOCATION
Ersetzen Sie Folgendes:
TAG_VALUE_ID: Die permanente ID oder der Namespace-Name des Tag-Werts, der angehängt werden soll. Beispiel:tagValues/4567890123. Weitere Informationen zu Tag-IDs finden Sie unter Tag-Definitionen und Kennzeichnungen.RESOURCE_ID: Der vollständige Ressourcenname Ihres Clusters, z. B.//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.In der Ressourcen-ID:
PROJECT_ID: Ihre Google Cloud Projekt-IDCLUSTER_NAMEist der Name Ihres Clusters.
CLUSTER_LOCATION: Der Name des Google CloudStandorts, von dem aus Ihr Cluster verwaltet wird.
Console
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie im Bereich Metadaten neben Tags auf Tags bearbeiten.
Wenn Ihre Organisation nicht im Bereich Tags angezeigt wird, klicken Sie auf Bereich auswählen. Wählen Sie Ihre Organisation aus und klicken Sie auf Öffnen.
Wählen Sie im Bereich Tags die Option Tag hinzufügen aus.
Wählen Sie aus der Liste den Schlüssel für das Tag aus, das Sie anhängen möchten. Sie können die Liste filtern, indem Sie Suchbegriffe eingeben.
Wählen Sie den Wert für das Tag, das Sie anhängen möchten, aus der Liste aus. Sie können die Liste filtern, indem Sie Suchbegriffe eingeben.
Klicken Sie auf Speichern.
Klicken Sie im Dialogfeld Bestätigen auf Bestätigen, um das Tag anzuhängen.
Mit einer Benachrichtigung wird bestätigt, dass Ihre Tags aktualisiert wurden.
API
Wenn Sie ein Tag an eine Ressource anhängen möchten, müssen Sie zuerst eine JSON-Darstellung einer Tag-Bindung erstellen, die die permanenten IDs des Tag-Werts und der Ressource enthält. Weitere Informationen zum Format einer Tag-Bindung finden Sie in der Referenz zu TagBinding.
Verwenden Sie die Methode tagBindings.create mit dem Endpunkt, an dem sich Ihr Cluster befindet.
POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings
Ersetzen Sie LOCATION durch den Google Cloud-Standort, an dem sich Ihr Cluster befindet, z. B. us-central1.
JSON-Anfragetext:
{
"parent": "RESOURCE_ID",
"tagValue": "TAG_VALUE_ID"
}
Ersetzen Sie Folgendes:
RESOURCE_ID: Der vollständige Ressourcenname Ihres Clusters, z. B.//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.In der Ressourcen-ID:
PROJECT_ID: Ihre Google Cloud Projekt-IDCLUSTER_NAMEist der Name Ihres Clusters.
TAG_VALUE_ID: Die permanente ID oder der Namespace-Name des Tag-Werts, der angehängt werden soll. Beispiel:tagValues/4567890123. Weitere Informationen zu Tag-IDs finden Sie unter Tag-Definitionen und Kennzeichnungen.
Die Ausgabe sieht in etwa so aus:
{
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.TagBinding",
"name": "tagBindings///container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/attachedClusters/CLUSTER_NAME/tagValues/TAG_VALUE_ID",
"parent": "//container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/attachedClusters/CLUSTER_NAME",
"tagValue": "TAG_VALUE_ID"
}
}
An einen Cluster angehängte Tags auflisten
Sie können die mit einem Cluster verknüpften Tags mithilfe der gcloud CLI, der Google Cloud -Console oder der Tags API auflisten.
gcloud
Führen Sie den folgenden Befehl aus, um eine Liste der Tag-Bindungen abzurufen, die an einen Cluster angehängt sind:
gcloud resource-manager tags bindings list \
--parent=RESOURCE_ID \
--location=CLUSTER_LOCATION
Ersetzen Sie Folgendes:
RESOURCE_ID: Der vollständige Ressourcenname Ihres Clusters, z. B.//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.In der Ressourcen-ID:
PROJECT_ID: Ihre Google Cloud Projekt-IDCLUSTER_NAMEist der Name Ihres Clusters.
CLUSTER_LOCATION: Der Google CloudStandort Ihres Clusters.
Console
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie anzeigen möchten.
Suchen Sie im Abschnitt Metadaten neben Tags nach den derzeit angehängten Tag-Werten.
API
Um eine Liste der Tag-Bindungen für einen Cluster zu erhalten, verwenden Sie die Methode tagBindings.list mit dem Endpunkt, an dem sich Ihr Cluster befindet.
GET https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings
JSON-Anfragetext:
{
"parent": RESOURCE_ID,
}
Ersetzen Sie Folgendes:
RESOURCE_ID: Der vollständige Ressourcenname Ihres Clusters, z. B.//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.In der Ressourcen-ID:
PROJECT_ID: Ihre Google Cloud Projekt-IDCLUSTER_NAMEist der Name Ihres Clusters.
Die Ausgabe sieht etwa so aus:
"tagBindings": [
{
"name": "tagBindings/%2F%2Fcontainer.googleapis.com%2Fprojects%2Ftags-bugbash-project%2Flocations%2Fus-central1%2Fclusters%2Ftestcluster/tagValues/758072120217",
"parent": "//container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/attachedClusters/CLUSTER_NAME",
"tagValue": "TAG_VALUE_ID"
}
]
Tags von einem Cluster trennen
Sie können ein Tag von einem Cluster trennen. Löschen Sie dazu mit der gcloud CLI, derGoogle Cloud -Konsole oder der Tags API die Tag-Bindungsressource, die mit dem Cluster verknüpft ist. Wenn Sie ein Tag löschen müssen, müssen Sie es zuerst von allen angehängten Ressourcen trennen.
gcloud
Führen Sie den folgenden Befehl aus, um eine mit einem Cluster verknüpfte Tag-Bindung zu trennen:
gcloud resource-manager tags bindings delete \
--tag-value=TAG_VALUE_ID \
--parent=RESOURCE_ID \
--location=CLUSTER_LOCATION
Ersetzen Sie Folgendes:
TAG_VALUE_ID: Die permanente ID oder der Namespace-Name des Tag-Werts, der getrennt werden soll. Beispiel:tagValues/4567890123. Weitere Informationen zu Tag-IDs finden Sie unter Tag-Definitionen und Kennzeichnungen.RESOURCE_ID: Der vollständige Ressourcenname Ihres Clusters, z. B.//container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/attachedClusters/CLUSTER_NAME.In der Ressourcen-ID:
PROJECT_ID: Ihre Google Cloud Projekt-IDCLUSTER_NAMEist der Name Ihres Clusters.
CLUSTER_LOCATION: Der Google CloudStandort Ihres Clusters.
Console
Öffnen Sie in der Google Cloud Console die Seite Google Kubernetes Engine.
Klicken Sie in der Clusterliste auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie im Bereich Metadaten neben Tags auf Tags bearbeiten.
Klicken Sie im Bereich Tags neben dem Tag, das Sie trennen möchten, auf Element löschen.
Klicken Sie auf Speichern.
Klicken Sie im Dialogfeld Bestätigen auf Bestätigen, um das Tag zu trennen.
Mit einer Benachrichtigung wird bestätigt, dass Ihre Tags aktualisiert wurden.
API
Verwenden Sie zum Löschen von Tag-Bindungen für einen Cluster die Methode tagBindings.delete mit dem Endpunkt, an dem sich Ihr Cluster befindet.
DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/TAG_BINDING_NAME
Ersetzen Sie TAG_BINDING_NAME durch den vollständigen Ressourcennamen des tagBinding-Objekts, das Sie trennen möchten. Beispiel: tagBindings/container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/tagValues/TAG_VALUE_ID.
Tag-Schlüssel und Tag-Werte löschen
Achten Sie vor dem Löschen von Tag-Schlüsseln und -Werten darauf, dass die Tags von allen Ressourcen getrennt sind. Lesen Sie dann Tags löschen, um die Schlüssel und Werte zu löschen.
Bedingungen und Tags für Identity and Access Management
Mit Tags und IAM-Bedingungen können Sie Nutzern in Ihrer Projekthierarchie bedingte Rollenbindungen zuweisen. Wenn Sie das Tag ändern oder löschen, das an einen Cluster angehängt ist, für den eine IAM-Richtlinie mit bedingten Rollenbindungen gilt, bewertet GKE die Zugriffsberechtigungen anhand der aktualisierten Bedingungen neu.
Die Autorisierung zum Auflisten und Erstellen von GKE-Clustern wird auf Projektebene, nicht auf der Ebene einzelner Cluster, überprüft. Wenn Sie bedingte IAM-Rollenbindungen mit Tags auf Clusterebene verwenden, um den Zugriff auf bestimmte Cluster einzuschränken, können bei diesen Nutzern Fehler auftreten, wenn sie versuchen, Cluster im Projekt aufzulisten oder zu erstellen. Um diese Fehler zu vermeiden, hängen Sie ein Tag an das übergeordnete Projekt an und verwenden eine bedingte Rollenbindung, um die Liste zu gewähren oder Zugriff zu erstellen. Informationen zu Rollen und Berechtigungen finden Sie in der Referenz für IAM-Rollen.
Weitere Informationen zu bedingten Zugriffsberechtigungen in IAM finden Sie unter IAM-Bedingungen und -Tags.
Nächste Schritte
- Organisationsrichtlinie mit Tags festlegen
- Weitere Informationen zum Verwalten von Tags und Anhängen von Tags an Ressourcen
- Weitere Dienste ansehen, die Tags unterstützen.
- Tags mit IAM verwenden