Labels zum Deployment hinzufügen

Labels sind eine einfache Möglichkeit zum Organisieren von Deployments, 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üsselwertpaar, mit dem Sie Ihre Google Cloud-Deployments organisieren können. Sie können jeder Ressource ein Label zuweisen und dann die Ressourcen nach Labels filtern. Informationen über Labels werden an das Abrechnungssystem weitergeleitet, sodass Sie die in Rechnung gestellten Kosten nach Labels aufschlüsseln können.

Einsatzmöglichkeiten von Labels

Es wird empfohlen, nicht zu viele eindeutige Labels zu erstellen, etwa für Zeitstempel oder einzelne Werte für jeden API-Aufruf. 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.

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 die UTF-8-Codierung verwenden. Internationale Zeichen sind zulässig.
  • Der Schlüsselabschnitt eines Labels darf nur einmal vorkommen. Sie können jedoch denselben Schlüssel für mehrere Ressourcen verwenden.
  • Schlüssel müssen mit einem Kleinbuchstaben oder einem internationalen Zeichen beginnen.

Bereitstellung 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 das gcloud-Tool 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 devserver=backend und storage=media:

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels devserver=backend,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: devserver
  value: backend
- 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": "devserver",
    "value": "backend"
  },
  {
    "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 devserver entfernt:

gcloud deployment-manager deployments update example-deployment --remove-labels devserver

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 devserver aktualisiert:

gcloud deployment-manager deployments update example-deployment --update-labels devserver=frontend

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 ein Deployment erstellen, können Sie das Deployment als Vorschau ansehen. Im Rahmen der Vorschau können Sie dem Deployment Labels zuordnen. Beispiel:

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels devserver=backend --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 env als Schlüssel und dev als Wert filtern möchten, können Sie folgenden Befehl ausführen:

gcloud deployment-manager deployments list --filter labels.env=dev

Eine vollständige Dokumentation der Filtersyntax im gcloud-Tool 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 env filtern möchten, dessen Wert gleich dev ist, stellen Sie folgende GET-Anfrage:

GET https://www.googleapis.com/deploymentmanager/v2/deployments/list?filter=labels.env+eq+devserver

Weitere Informationen finden Sie in der Dokumentation zu filter in der API-Referenz.

Nächste Schritte