Créer et gérer des libellés.

Vous pouvez appliquer des libellés utilisateur aux ressources de cluster et de tâches Cloud Dataproc afin de regrouper les ressources et les opérations associées en vue de les filtrer et de les répertorier ultérieurement. Vous associez des libellés aux ressources lors de la création de la ressource, lorsque vous créez un cluster ou envoyez une tâche. Une fois qu'une ressource est associée à un libellé, celui-ci est propagé aux opérations effectuées sur la ressource (création, mise à jour, correction ou suppression de cluster ; envoi, mise à jour, annulation ou suppression de tâches), ce qui vous permet de filtrer et de répertorier les clusters, les tâches et les opérations par libellé.

Vous pouvez également ajouter des libellés aux ressources Compute Engine associées aux ressources de cluster, telles que les instances de machines virtuelles et les disques.

Qu'est-ce qu'un libellé ?

Un libellé est une paire clé/valeur que vous pouvez attribuer aux clusters et aux tâches Google Cloud Dataproc. Elle vous aide à organiser ces ressources et à gérer vos coûts à grande échelle avec la précision dont vous avez besoin. Vous pouvez associer une étiquette à chaque ressource, puis filtrer les ressources par étiquette. Les informations sur les étiquettes sont transmises au système de facturation, qui vous permet de consulter le détail des frais facturés par étiquette. Grâce aux rapports de facturation intégrés, vous pouvez filtrer et regrouper les coûts par étiquette de ressource. Vous pouvez également utiliser des étiquettes pour interroger les exportations de données de facturation.

Exigences relatives aux libellés

Les libellés appliqués à une ressource doivent répondre aux exigences suivantes :

  • Chaque ressource peut comporter jusqu'à 64 étiquettes.
  • Chaque libellé doit correspondre à une paire clé/valeur.
  • Les clés doivent comporter un (1) caractère au minimum et 63 au maximum, et ne peuvent pas être vides. Les valeurs peuvent être vides et comporter 63 caractères au maximum.
  • Les clés et les valeurs ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Tous les caractères doivent être au format d'encodage UTF-8. Les caractères internationaux sont autorisés. Les clés doivent commencer par une lettre minuscule ou un caractère international.
  • La partie clé d'un libellé doit être unique au sein d'une ressource spécifique. Cependant, vous pouvez utiliser la même clé avec plusieurs ressources.

Ces limites s'appliquent à la clé et à la valeur de chaque libellé, ainsi qu'aux ressources Google Cloud individuelles associées à des libellés. Vous pouvez appliquer autant de libellés que vous le souhaitez à toutes les ressources d'un projet.

Cas d'utilisation courants des libellés

Voici quelques cas d'utilisation courants des étiquettes :

  • Libellés d'équipe ou de centre de coût : ajoutez des libellés en fonction de l'équipe ou du centre de coûts pour distinguer les clusters Dataproc et les tâches appartenant à différentes équipes (par exemple, team:research et team:analytics). Vous pouvez utiliser ce type de libellé pour la comptabilité analytique ou la budgétisation.

  • Libellés de composant : par exemple, component:redis, component:frontend, component:ingest et component:dashboard.

  • Libellés d'environnement ou d'étape : par exemple, environment:production et environment:test.

  • Libellés d'état : par exemple, state:active, state:readytodelete et state:archive.

  • Libellés de propriété : permettent d'identifier les équipes responsables des opérations (par exemple, team:shopping-cart).

Nous vous déconseillons de créer un grand nombre d'étiquettes uniques, par exemple pour les horodatages ou les valeurs individuelles pour chaque appel d'API. Le problème avec cette approche est que lorsque les valeurs changent fréquemment ou que des clés encombrent le catalogue, il est difficile de filtrer efficacement les ressources et de créer des rapports associés.

Libellés et tags

Pour les ressources, les libellés peuvent être utilisés comme des annotations qu'il est possible d'interroger. Cependant, ils ne peuvent pas être utilisés pour définir des conditions dans le cadre de vos stratégies. Les tags permettent d'autoriser ou de refuser des règles de manière conditionnelle selon qu'une ressource possède un tag spécifique ou non, grâce à un contrôle ultraprécis sur les règles. Pour en savoir plus, consultez la présentation des tags.

Créer et utiliser les libellés Dataproc

Commande gcloud

Vous pouvez spécifier une ou plusieurs étiquettes à appliquer à un cluster ou à une tâche Dataproc au moment de la création ou de l'envoi à l'aide de la Google Cloud CLI.

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

Une fois qu'un cluster ou une tâche Dataproc a été créé, vous pouvez mettre à jour les libellés associés à cette ressource à l'aide de 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

De même, vous pouvez utiliser la Google Cloud CLI pour filtrer les ressources Dataproc par libellé à l'aide d'une expression de filtre au format suivant: 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"

Pour plus d'informations sur l'écriture d'expressions de filtre, consultez les sections clusters.list et jobs.list dans la documentation de l'API Dataproc.

API REST

Les libellés peuvent être associés aux ressources Dataproc via l'API REST Dataproc. Les API clusters.create et jobs.submit peuvent être utilisées pour associer des libellés à un cluster ou à une tâche lors de la création ou de l'envoi. Les API clusters.patch et jobs.patch peuvent être utilisées pour modifier les libellés lors de la création de ressources. Voici un exemple de corps JSON de requête "cluster.create" qui inclut le libellé key1:value associé au 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"
  }
}

Les API clusters.list et jobs.list peuvent être utilisées pour répertorier les ressources correspondant à un filtre spécifié, au format suivant : labels.<key=value>.

Voici un exemple de requête HTTPS GET clusters.list à l'API Dataproc qui spécifie un filtre de libellé key=value. L'appelant insère project, region, un filtre label-key et label-value, et un élément api-key. Notez que cet exemple de demande est divisé en deux lignes pour faciliter la lecture.

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

Pour plus d'informations sur l'écriture d'expressions de filtre, consultez les sections clusters.list et jobs.list dans la documentation de l'API Dataproc.

Console

Vous pouvez spécifier un ensemble de libellés à ajouter à une ressource Dataproc lors de la création ou de l'envoi à l'aide de la console Google Cloud.

  • Ajoutez des libellés à un cluster à partir de la section "Libellés" du panneau "Personnaliser le cluster" de la page Dataproc Créer un cluster.
  • Ajoutez des étiquettes à un job à partir de la page Dataproc Envoyer une tâche.

Une fois qu'une ressource Dataproc a été créée, vous pouvez mettre à jour les libellés associés à cette ressource. Pour cela, vous devez d'abord cliquer sur SHOW INFO PANEL en haut à gauche de la page. Voici un exemple tiré de la page Dataproc→Répertorier les clusters.

Une fois le panneau d'informations affiché, vous pouvez mettre à jour les libellés de vos ressources Dataproc. Vous trouverez ci-dessous un exemple de mise à jour des libellés d'un cluster Dataproc.

Il est également possible de mettre à jour des libellés pour plusieurs éléments au cours d'une seule et même opération. Dans l'exemple ci-dessous, les étiquettes de plusieurs tâches Dataproc sont mises à jour en même temps.

Les libellés permettent de filtrer les ressources Dataproc affichées sur les pages Dataproc → Répertorier les clusters et Dataproc → Répertorier les tâches. En haut de la page, vous pouvez utiliser le modèle de recherche labels.<labelname>=<value> pour filtrer les ressources par libellé.

Libellés appliqués automatiquement

Lors de la création ou de la mise à jour d'un cluster, Dataproc applique automatiquement plusieurs libellés au cluster et à ses ressources. Par exemple, Dataproc applique des libellés aux machines virtuelles, aux disques persistants et aux accélérateurs lors de la création d'un cluster. Les libellés appliqués automatiquement comportent un préfixe goog-dataproc spécial.

Les libellés goog-dataproc suivants sont automatiquement appliqués aux ressources Dataproc. Toutes les valeurs que vous fournissez pour les libellés goog-dataproc réservés lors de la création du cluster remplacent les valeurs fournies automatiquement. Pour cette raison, il n'est pas recommandé de fournir vos propres valeurs pour ces libellés.

Libellé Description
goog-dataproc-cluster-name Nom du cluster spécifié par l'utilisateur
goog-dataproc-cluster-uuid ID de cluster unique
goog-dataproc-location Point de terminaison de cluster régional Dataproc

Vous pouvez utiliser ces libellés appliqués automatiquement de différentes manières, par exemple :

Étapes suivantes