Creare e gestire le etichette

Puoi applicare etichette utente alle risorse dei job e del cluster Dataproc per raggruppare le risorse e le operazioni correlate in modo da filtrarle ed elencarle in un secondo momento. Puoi associare le etichette alle risorse quando la risorsa viene creata, al momento della creazione del cluster o dell'invio del job. Quando una risorsa viene associata a un'etichetta, l'etichetta viene propagata alle operazioni eseguite sulla risorsa, come creazione, aggiornamento, applicazione di patch o eliminazione del cluster, invio, aggiornamento, annullamento o eliminazione di un job, in modo da poter filtrare ed elencare cluster, job e operazioni per etichetta.

Puoi anche aggiungere etichette alle risorse Compute Engine associate alle risorse del cluster, come istanze di macchine virtuali e dischi.

Cosa sono le etichette?

Un'etichetta è una coppia chiave-valore che puoi assegnare a cluster e job di Google Cloud Dataproc. Ti aiutano a organizzare queste risorse e a gestire i costi su larga scala, con la granularità di cui hai bisogno. Puoi associare un'etichetta a ogni risorsa, quindi filtrare le risorse in base alle etichette. Le informazioni sulle etichette vengono inoltrate al sistema di fatturazione, in modo da poter suddividere gli addebiti fatturati per etichetta. Con i report di fatturazione integrati, puoi filtrare e raggruppare i costi per etichette delle risorse. Puoi utilizzare le etichette anche per eseguire query sulle esportazioni dei dati di fatturazione.

Requisiti per le etichette

Le etichette applicate a una risorsa devono soddisfare i seguenti requisiti:

  • Ogni risorsa può avere fino a 64 etichette.
  • Ogni etichetta deve essere una coppia chiave-valore.
  • Le chiavi hanno una lunghezza minima di 1 carattere e una lunghezza massima di 63 caratteri e non può essere vuota. I valori possono essere vuoti e avere una lunghezza massima di 63 caratteri.
  • Le chiavi e i valori possono contenere solo lettere minuscole, caratteri numerici, trattini bassi e trattini. Tutti i caratteri devono utilizzare la codifica UTF-8 e sono consentiti caratteri internazionali. Le chiavi devono iniziare con una lettera minuscola o un carattere internazionale.
  • La parte relativa alla chiave di un'etichetta deve essere univoca all'interno di una singola risorsa. Tuttavia, puoi utilizzare la stessa chiave con più risorse.

Questi limiti si applicano alla chiave e al valore di ogni etichetta e alle singole risorse Google Cloud con etichette. Non esiste un limite al numero di etichette che puoi applicare a tutte le risorse all'interno di un progetto.

Utilizzi comuni delle etichette

Di seguito sono riportati alcuni casi d'uso comuni delle etichette:

  • Etichette del team o del centro di costo: aggiungi etichette basate sul team o sul centro di costo per distinguere i cluster Dataproc e i job di proprietà di team diversi (ad esempio team:research e team:analytics). Puoi utilizzare questo tipo di etichetta per la contabilità dei costi o la definizione del budget.

  • Etichette del componente: ad esempio component:redis, component:frontend, component:ingest e component:dashboard.

  • Etichette dell'ambiente o della fase: ad esempio, environment:production e environment:test.

  • Etichette stato: ad esempio state:active, state:readytodelete e state:archive.

  • Etichette di proprietà: utilizzate per identificare i team responsabili delle operazioni, ad esempio: team:shopping-cart.

Non è consigliabile creare un numero elevato di etichette univoche, ad esempio per timestamp o valori singoli per ogni chiamata API. Il problema di questo approccio è che, quando i valori cambiano spesso o con chiavi che ingombrano il catalogo, è difficile filtrare e generare report sulle risorse in modo efficace.

Etichette e tag

Le etichette possono essere utilizzate come annotazioni interrogabili per le risorse, ma non possono essere utilizzate per impostare le condizioni dei criteri. I tag forniscono un modo per consentire o negare in modo condizionale i criteri a seconda che una risorsa abbia un tag specifico, fornendo un controllo granulare sui criteri. Per ulteriori informazioni, consulta la Panoramica dei tag.

Creazione e utilizzo delle etichette Dataproc

Comando gcloud

Puoi specificare una o più etichette da applicare a un cluster o a un job Dataproc al momento della creazione o di invio utilizzando Google Cloud CLI.

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

Dopo aver creato un cluster o un job Dataproc, puoi aggiornare le etichette associate alla risorsa utilizzando Google Cloud CLI.

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

Analogamente, puoi utilizzare Google Cloud CLI per filtrare le risorse Dataproc in base all'etichetta utilizzando un'espressione di filtro con il seguente formato: 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"

Consulta la documentazione dell&#API Dataproc clusters.list e jobs.list per ulteriori informazioni sulla scrittura di un'espressione di filtro.

API REST

Le etichette possono essere collegate alle risorse Dataproc tramite l'API REST Dataproc. Le API clusters.create e jobs.submit possono essere utilizzate per collegare le etichette a un cluster o a un job al momento della creazione o di invio. Le API clusters.patch e jobs.patch possono essere utilizzate per modificare le etichette dopo la creazione della risorsa. Ecco il corpo JSON di una richiesta cluster.create che include un'etichetta key1:value al cluster.

{
  "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"
  }
}

Le API clusters.list e jobs.list possono essere utilizzate per elencare le risorse che corrispondono a un filtro specificato, utilizzando il seguente formato: labels.<key=value>.

Ecco un esempio di richiesta HTTP GET clusters.list dell'API Dataproc che specifica un filtro di etichetta key=value. Il chiamante inserisce project, region, un filtro label-key e label-value e un api-key. Questa richiesta di esempio è suddivisa in due righe per una maggiore leggibilità.

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

Consulta la documentazione dell&#API Dataproc clusters.list e jobs.list per ulteriori informazioni sulla scrittura di un'espressione di filtro.

Console

Puoi specificare un set di etichette da aggiungere a una risorsa Dataproc al momento della creazione o dell'invio utilizzando la console Google Cloud.

  • Puoi aggiungere etichette a un cluster dalla sezione Etichette del riquadro Personalizza cluster nella pagina Crea un cluster di Dataproc.
  • Puoi aggiungere etichette a un job dalla pagina Invia un job di Dataproc.

Dopo aver creato una risorsa Dataproc, puoi aggiornare le etichette associate alla risorsa. Per aggiornare le etichette, devi prima fare clic su SHOW INFO PANEL in alto a sinistra della pagina. Questo è un esempio tratto dalla pagina Dataproc→Elenca cluster.

Una volta visualizzato il riquadro delle informazioni, puoi aggiornare le etichette delle risorse Dataproc. Di seguito è riportato un esempio di aggiornamento delle etichette per un cluster Dataproc.

Inoltre, è possibile aggiornare le etichette di più elementi con una sola operazione. In questo esempio, le etichette vengono aggiornate per più job di Dataproc contemporaneamente.

Le etichette consentono di filtrare le risorse Dataproc visualizzate nelle pagine Dataproc→Elenco cluster e Dataproc→Elenco job. Nella parte superiore della pagina, puoi utilizzare il pattern di ricerca labels.<labelname>=<value> per filtrare le risorse in base a un'etichetta.

Etichette applicate automaticamente

Durante la creazione o l'aggiornamento di un cluster, Dataproc applica automaticamente diverse etichette alle risorse del cluster e del cluster. Ad esempio, Dataproc applica etichette a macchine virtuali, dischi permanenti e acceleratori durante la creazione di un cluster. Le etichette applicate automaticamente hanno un prefisso goog-dataproc speciale.

Le seguenti etichette goog-dataproc vengono applicate automaticamente alle risorse Dataproc. Tutti i valori forniti per le etichette goog-dataproc riservate al momento della creazione del cluster sostituiranno i valori forniti automaticamente. Per questo motivo, non è consigliabile fornire valori personalizzati per queste etichette.

Etichetta Descrizione
goog-dataproc-cluster-name Nome del cluster specificato dall'utente
goog-dataproc-cluster-uuid ID cluster univoco
goog-dataproc-location Endpoint del cluster a livello di regione Dataproc

Puoi utilizzare queste etichette applicate automaticamente in molti modi, tra cui:

Passaggi successivi