Labels zum Deployment hinzufügen

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 und team: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 und component:dashboard.

  • Labels für Umgebungen oder Phasen: z. B. environment:production und environment:test.

  • Labels für Status: z. B. state:active, state:readytodelete und state: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

  1. Rufen Sie in der Google Cloud Console die Seite Deployments auf.

    Zur Seite "Deployments"

  2. Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.

  3. Klicken Sie auf das Kästchen neben dem Deployment, dessen Labels Sie entfernen möchten. Eine Seitenleiste wird angezeigt.

  4. Klicken Sie auf X neben jedem Label, das Sie entfernen möchten.

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

  1. Rufen Sie in der Google Cloud Console die Seite Deployments auf.

    Zur Seite "Deployments"

  2. Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.

  3. Klicken Sie auf das Kästchen neben dem Deployment, dessen Labels Sie aktualisieren möchten. Eine Seitenleiste wird geöffnet.

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

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

  1. Rufen Sie in der Google Cloud Console die Seite Deployments auf.

    Zur Seite "Deployments"

  2. Wenn Sie dazu aufgefordert werden, wählen Sie Ihr Projekt aus und klicken auf Weiter.

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

Nächste Schritte