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
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.
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
Sobald ein Dataproc-Cluster oder -Job erstellt wurde, können Sie die Labels aktualisieren über die Google Cloud CLI verknüpft.
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 mithilfe von
Einen Filterausdruck mit folgendem Format: 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:
- Nach Dataproc-Ressourcen suchen und filtern
- Nach Abrechnungsdaten filtern, um Dataproc-Kosten zu berechnen