Labels sind eine einfache Möglichkeit zum Organisieren von Bereitstellungen, die einen Bezug zueinander haben oder verknüpft sind. Es ist z. B. üblich, Deployments, die für Produktion, Staging oder Entwicklung bestimmt sind, jeweils mit eigenen Labels zu versehen, damit bei Bedarf leicht nach Deployments gesucht werden kann, die zu einer bestimmten Entwicklungsphase gehören.
Was sind Labels?
Ein Label ist ein Schlüssel/Wert-Paar, das Sie Google Cloud-Deployments zuweisen können. Clusterlabels helfen Ihnen dabei, diese Ressourcen zu organisieren und Ihre Kosten in großem Umfang mit der erforderlichen Detailgenauigkeit zu verwalten. Sie können jeder Ressource ein Label zuweisen und dann die Ressourcen basierend auf ihren Labels filtern. Informationen zu Labels werden an das Abrechnungssystem weitergeleitet, sodass Sie die abgerechneten Gebühren nach Label aufschlüsseln können. Dank integrierter Abrechnungsberichte können Sie Kosten nach Ressourcenlabels filtern und gruppieren. Sie können Labels auch verwenden, um Abrechnungsdatenexporte abzufragen.
Anforderungen an Labels
Die Labels, die auf eine Ressource angewendet werden, müssen die folgenden Anforderungen erfüllen:
- Jede Ressource kann bis zu 64 Labels haben.
- Jedes Label muss ein Schlüssel/Wert-Paar sein.
- Schlüssel haben eine Mindestlänge von 1 Zeichen und eine maximale Länge von 63 Zeichen und dürfen nicht leer sein. Werte dürfen leer sein und haben eine maximale Länge von 63 Zeichen.
- Schlüssel und Werte dürfen nur Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Alle Zeichen müssen UTF-8-codiert sein. Internationale Zeichen sind zulässig. Schlüssel müssen mit einem Kleinbuchstaben oder einem internationalen Zeichen beginnen.
- Der Schlüsselabschnitt eines Labels darf in einer einzelnen Ressource nur einmal vorkommen. Sie können jedoch denselben Schlüssel für mehrere Ressourcen verwenden.
Die Limits gelten für den Schlüssel und den Wert für jedes Label und für die einzelnen Google Cloud-Ressourcen, die Labels haben. Es gibt keine Beschränkung, wie viele Labels Sie auf alle Ressourcen in einem Projekt anwenden können.
Einsatzmöglichkeiten von Labels
Labels kommen u. a. in folgenden Situationen zum Einsatz:
Labels für Teams oder Kostenstellen: Fügen Sie Labels basierend auf einem Team oder einer Kostenstelle hinzu, um zwischen den Deployments von verschiedenen Teams zu unterscheiden (z. B.
team:research
undteam:analytics
). Sie können diese Art von Label für die Kostenabrechnung oder Budgetplanung nutzen.Labels für Komponenten: z. B.
component:redis
,component:frontend
,component:ingest
undcomponent:dashboard
.Labels für Umgebungen oder Phasen: z. B.
environment:production
undenvironment:test
.Labels für Status: z. B.
state:active
,state:readytodelete
undstate:archive
.Labels für Eigentumsrechte: Wird verwendet, um die Teams zu identifizieren, die für den Betrieb verantwortlich sind, z. B.
team:shopping-cart
.
Es wird empfohlen, nicht zu viele eindeutige Labels zu erstellen, etwa für Zeitstempel oder einzelne Werte für einzelne API-Aufruf. Das Problem bei diesem Ansatz besteht darin, dass es schwierig ist, Ressourcen effektiv zu filtern und Berichte über sie zu erstellen, wenn sich die Werte häufig ändern oder wenn Schlüssel verwendet werden, die den Katalog überlasten.
Labels und Tags
Labels können als abfragbare Annotationen für Ressourcen verwendet werden, aber nicht zum Festlegen von Bedingungen für Richtlinien. Mit Tags können Sie Richtlinien auf Basis der Bedingung genehmigen oder ablehnen, ob eine Ressource ein bestimmtes Tag hat. Dazu müssen Sie eine detaillierte Richtlinienkontrolle ermöglichen. Weitere Informationen finden Sie in der Tag-Übersicht.
Deployments mit Labels erstellen
Wenn Sie ein Deployment erstellen, können Sie Labels hinzufügen, indem Sie ein oder mehrere Schlüssel/Wert-Paare als Labels liefern. Wenn Sie bereits ein Deployment haben, können Sie dieses aktualisieren, um neue Labels hinzuzufügen oder vorhandene zu ändern.
Zum Erstellen eines Deployments mit Labels muss die gcloud CLI oder die API verwendet werden.
gcloud
In gcloud
fügen Sie einem Deployment Labels hinzu, indem Sie das Flag --labels
gefolgt von einer durch Kommas getrennten Liste von Schlüssel/Wert-Paaren angeben. Mit dem folgenden Befehl werden dem Deployment beispielsweise zwei Labels hinzugefügt, und zwar environment=production
und storage=media
:
gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
--labels environment=production,storage=media
Um die Labels anzuzeigen, die dem Deployment zugewiesen wurden, rufen Sie eine Beschreibung des Deployments ab:
gcloud deployment-manager deployments describe example-deployment
---
fingerprint: 0p03t0z31PQLOrGH8KdhWQ==
id: '2204841443843636456'
insertTime: '2017-04-18T09:42:47.323-07:00'
labels:
- key: environment
value: production
- key: storage
value: media
manifest: manifest-1492533767362
name: example-deployment
operation:
endTime: '2017-04-18T09:43:04.581-07:00'
name: operation-1492533767010-54d7398ff76d1-7930b926-f64e72ae
operationType: insert
progress: 100
startTime: '2017-04-18T09:42:48.034-07:00'
status: DONE
user:user@example.com
API
Wenn Sie die API verwenden, folgen Sie der Anleitung zum Erstellen des Deployments und fügen das neue Attribut labels
in den Anfragetext ein. Beispiel:
{
"name": "example-deployment",
"target": {
"config": {
"content": "..."
},
}
"labels": [
{
"key": "environment",
"value": "production"
},
{
"key": "storage",
"value": "media"
}
]
}
Labels entfernen
Console
Rufen Sie in der Google Cloud Console die Seite Deployments auf.
Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.
Klicken Sie auf das Kästchen neben dem Deployment, dessen Labels Sie entfernen möchten. Eine Seitenleiste wird angezeigt.
Klicken Sie auf X neben jedem Label, das Sie entfernen möchten.
Speichern Sie die Änderungen.
gcloud
In gcloud
entfernen Sie Labels mithilfe des Befehls deployments update
. Geben Sie dabei das Flag --remove-labels
gefolgt von einer durch Kommas getrennten Liste von Schlüsseln von Labels an, die entfernt werden sollen.
Im Folgenden wird z. B. ein Label mit dem Schlüssel environment
entfernt:
gcloud deployment-manager deployments update example-deployment --remove-labels environment
API
Folgen Sie in der API der Anleitung zur Aktualisierung eines Deployments und fügen Sie Ihrem Deployment eine Aktualisierung ohne labels
-Attribut im Anfragetext hinzu. Damit werden die Labels entfernt.
Labels hinzufügen oder aktualisieren
Sie können neue Labels hinzufügen oder Labels auf vorhandenen Bereitstellungen aktualisieren.
Console
Rufen Sie in der Google Cloud Console die Seite Deployments auf.
Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.
Klicken Sie auf das Kästchen neben dem Deployment, dessen Labels Sie aktualisieren möchten. Eine Seitenleiste wird geöffnet.
Aktualisieren Sie zur Änderung der Labelwerte die entsprechenden Labeleinträge. Wenn Sie den Labelschlüssel ändern möchten, müssen Sie das Label löschen und es mit einem neuen Schlüssel wieder hinzufügen.
Speichern Sie die Änderungen.
gcloud
In gcloud
können Sie Labels mithilfe des Befehls deployments update
aktualisieren oder hinzufügen. Geben Sie dabei das Flag --update-labels
gefolgt von einer durch Kommas getrennten Liste der aktualisierten Labels an.
Im Folgenden wird z. B. das Label environment
aktualisiert:
gcloud deployment-manager deployments update example-deployment --update-labels environment=production
API
Folgen Sie in der API der Anleitung zur Aktualisierung eines Deployments und lassen Sie das labels
-Attribut im Anfragetext weg. Damit werden Labels aus dem Deployment entfernt.
Labels in der Deployment-Vorschau hinzufügen
Bevor Sie eine Bereitstellung erstellen, können Sie eine Vorschau auf die Bereitstellung anzeigen. Im Rahmen der Vorschau können Sie dem Deployment Labels zuordnen. Beispiel:
gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
--labels environment=production --preview
Um Labels während der Vorschau zu ändern, müssen Sie die Vorschau mit den neuen Labels aktualisieren. Weitere Informationen zu Vorschauen finden Sie unter Konfiguration als Vorschau ansehen.
Suchanfragen mit Labels filtern
Sie können Ihre Ressourcen durchsuchen und die Ergebnisse nach Labels filtern.
Console
Rufen Sie in der Google Cloud Console die Seite Deployments auf.
Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.
Geben Sie in die Suchleiste
labels.
ein. Während der Eingabe listet die Suchleiste automatisch Labels auf, nach denen Sie filtern können.
gcloud
Erstellen Sie in gcloud
eine list
-Anfrage und verwenden Sie das Flag --filter
.
Mit der Syntax labels.[KEY]=[VALUE]
können Sie nach Labels filtern. Wenn Sie beispielsweise nach einem Label mit environment
als Schlüssel und production
als Wert filtern möchten, können Sie folgenden Befehl ausführen:
gcloud deployment-manager deployments list --filter labels.environment=production
Eine vollständige Dokumentation der Filtersyntax in der gcloud CLI finden Sie in der Dokumentation zu gcloud topic filters
.
API
In der API stellen Sie eine Listenanfrage mit dem URL-codierten Abfrageparameter filter
.
Wenn Sie z. B. nach einem Labelschlüssel environment
filtern möchten, dessen Wert gleich production
ist, stellen Sie folgende GET
-Anfrage:
GET https://www.googleapis.com/deploymentmanager/v2/deployments/list?filter=labels.environment+eq+production
Weitere Informationen finden Sie in der Dokumentation zu filter
in der API-Referenz.