Labels erstellen und verwalten

Sie können Nutzerlabels auf Dataproc-Cluster und Jobressourcen anwenden, um Ressourcen und zugehörige Vorgänge für ein späteres Filtern und Auflisten zu gruppieren. Sie verknüpfen Ressourcen dabei mit Ressourcen, wenn die Ressource erstellt wird, wenn der Cluster erstellt oder das Job gesendet wird. Sobald eine Ressource mit einem Label verknüpft ist, wird das Label auf Vorgänge angewendet, die an der Ressource ausgeführt werden: Cluster erstellen, aktualisieren, patchen oder löschen; Job senden, aktualisieren, abbrechen oder löschen. Sie können Cluster, Jobs und Vorgänge nach Label filtern und auflisten.

Sie können zu Compute Engine-Ressourcen, die mit Clusterressourcen wie VM-Instanzen und Laufwerken verknüpft sind, auch Labels hinzufügen.

Was sind Labels?

Ein Label ist ein Schlüssel/Wert-Paar, das Sie Google Cloud Dataproc-Clustern und -Jobs 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 Dataproc-Clustern und Jobs zu unterscheiden, die verschiedenen Teams angehören (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.

Dataproc-Labels erstellen und verwenden

gcloud-Befehl

Sie können mit der Google Cloud CLI ein oder mehrere Labels angeben, die beim Erstellen oder Senden auf einen Dataproc-Cluster oder Job angewendet werden sollen.

gcloud dataproc clusters create args --labels environment=production,customer=acme
gcloud dataproc jobs submit args --labels environment=production,customer=acme

Nachdem ein Dataproc-Cluster oder -Job erstellt wurde, können Sie die mit dieser Ressource verknüpften Labels über die Google Cloud CLI aktualisieren.

gcloud dataproc clusters update args --update-labels environment=production,customer=acme
gcloud dataproc jobs update args --update-labels environment=production,customer=acme

Ebenso können Sie die Google Cloud CLI verwenden, um Dataproc-Ressourcen mit einem Filterausdruck des folgenden Formats nach Label zu filtern: labels.<key=value>.

gcloud dataproc clusters list \
    --region=region \
    --filter="status.state=ACTIVE AND labels.environment=production"
gcloud dataproc jobs list \
    --region=region \
    --filter="status.state=ACTIVE AND labels.customer=acme"

Weitere Informationen zum Schreiben eines Filterausdrucks finden Sie in der Dataproc API-Dokumentation zu clusters.list und jobs.list.

REST API

Labels können Dataproc-Ressourcen über die Dataproc REST API hinzugefügt werden. Mit den APIs clusters.create und jobs.submit können Labels einem Cluster oder Job hinzugefügt werden, wenn dieser erstellt oder gesendet wird. Die APIs clusters.patch und jobs.patch können zum Bearbeiten von Labels verwendet werden, nachdem die Ressource erstellt wurde. Hier ist der JSON-Text einer Anfrage "cluster.create", die das Label key1:value an den Cluster anhängt.

{
  "clusterName":"cluster-1",
  "projectId":"my-project",
  "config":{
    "configBucket":"",
    "gceClusterConfig":{
      "networkUri":".../networks/default",
      "zoneUri":".../zones/us-central1-f"
    },
    "masterConfig":{
      "numInstances":1,
      "machineTypeUri":"..../machineTypes/n1-standard-4",
      "diskConfig":{
        "bootDiskSizeGb":500,
        "numLocalSsds":0
      }
    },
    "workerConfig":{
      "numInstances":2,
      "machineTypeUri":"...machineTypes/n1-standard-4",
      "diskConfig":{
        "bootDiskSizeGb":500,
        "numLocalSsds":0
      }
    }
  },
  "labels":{
    "key1":"value1"
  }
}

Mit den APIs clusters.list und jobs.list können Ressourcen aufgelistet werden, die dem folgenden Format entsprechen: labels.<key=value>.

Hier ist ein Beispiel für eine HTTPS-GET-Anfrage der Dataproc API clusters.list, die den Labelfilter key=value enthält. Der Anrufer gibt project, region, einen Filter label-key und label-value sowie einen api-key ein. Beachten Sie, dass diese Beispielanfrage für eine bessere Lesbarkeit in zwei Zeilen unterteilt ist.

GET https://dataproc.googleapis.com/v1/projects/project/regions/region/clusters?
filter=labels.label-key=label-value&key=api-key

Weitere Informationen zum Schreiben eines Filterausdrucks finden Sie in der Dataproc API-Dokumentation zu clusters.list und jobs.list.

Console

Sie können über die Google Cloud Console eine Reihe von Labels angeben, die zu einer Dataproc-Ressource beim Erstellen oder Einreichen hinzugefügt werden.

  • Fügen Sie einem Cluster über den Abschnitt „Labels“ im Bereich „Cluster anpassen“ der Dataproc-Seite Cluster erstellen Labels hinzu.
  • Fügen Sie einem Job Label über die Dataproc-Seite Job senden hinzu.

Nachdem eine Dataproc-Ressource erstellt wurde, können Sie die mit dieser Ressource verknüpften Labels aktualisieren. Zum Aktualisieren von Labels klicken Sie zunächst oben links auf der Seite auf SHOW INFO PANEL. Dieses Beispiel stammt von der Seite Dataproc→Cluster auflisten.

Sobald der Infobereich angezeigt wird, können Sie die Labels für Ihre Dataproc-Ressourcen aktualisieren. Nachstehend finden Sie ein Beispiel für das Aktualisieren von Labels für einen Dataproc-Cluster.

Es ist auch möglich, Labels für mehrere Elemente in einem bestimmten Vorgang zu aktualisieren. In diesem Beispiel werden Labels für mehrere Dataproc-Jobs gleichzeitig aktualisiert.

Mithilfe von Labels können Sie die Dataproc-Ressourcen aktualisieren, die auf den Seiten Dataproc → Cluster auflisten und Dataproc → Jobs auflisten angezeigt werden. Mit dem Suchmuster labels.<labelname>=<value> oben auf der Seite können Sie Ressourcen nach Labels filtern.

Automatisch angewendete Labels

Beim Erstellen oder Aktualisieren eines Clusters wendet Dataproc automatisch mehrere Labels auf den Cluster und die Clusterressourcen an. Dataproc wendet beispielsweise Labels auf virtuelle Maschinen, nichtflüchtige Speicher und Beschleuniger an, wenn ein Cluster erstellt wird. Automatisch angewendete Labels haben ein spezielles goog-dataproc-Präfix.

Die folgenden goog-dataproc-Labels werden automatisch auf Dataproc-Ressourcen angewendet. Alle Werte, die Sie bei der Clustererstellung für die reservierten goog-dataproc-Labels angeben, überschreiben die automatisch bereitgestellten Werte. Aus diesem Grund wird die Angabe eigener Werte für diese Labels nicht empfohlen.

Label Beschreibung
goog-dataproc-cluster-name Vom Nutzer angegebener Clustername
goog-dataproc-cluster-uuid Eindeutige Cluster-ID
goog-dataproc-location Regionaler Dataproc-Cluster-Endpunkt

Sie können diese automatisch angewendeten Labels auf verschiedene Arten verwenden, einschließlich:

Nächste Schritte