Ajouter des libellés à un déploiement

Les libellés sont un moyen léger d'organiser les déploiements qui sont liés ou associés. Par exemple, une pratique courante consiste à ajouter un libellé différent pour les déploiements destinés à la production, à la préparation ou au développement. Vous pouvez ainsi rechercher facilement les déploiements appartenant à chaque étape lorsque cela est nécessaire.

Qu'est-ce qu'un libellé ?

Une étiquette est une paire clé/valeur que vous pouvez attribuer aux déploiements Google Cloud. 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. Ainsi, vous pouvez trier vos 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 :

  • Étiquettes d'équipe ou de centre de coûts : ajoutez des étiquettes basées sur l'équipe ou le centre de coûts pour distinguer les déploiements appartenant à différentes équipes (par exemple, team:research et team:analytics). Vous pouvez utiliser ce type d'étiquette pour la comptabilité analytique ou la budgétisation.

  • Étiquettes 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 de grands nombres 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 un déploiement avec des libellés

Lors de la création d'un déploiement, vous pouvez ajouter des libellés en définissant une ou plusieurs paires clé/valeur en tant que libellés. Si vous disposez déjà d'un déploiement, vous pouvez le mettre à jour en ajoutant des étiquettes ou en modifiant les étiquettes existantes.

Vous devez utiliser la gcloud CLI ou l'API pour créer un déploiement avec étiquettes.

gcloud

Dans gcloud, ajoutez des étiquettes à votre déploiement en fournissant l'indicateur --labels, suivi d'une liste de paires clé/valeur séparées par une virgule. Par exemple, la commande suivante ajoute deux étiquettes au déploiement, environment=production et storage=media :

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels environment=production,storage=media

Pour afficher les libellés appliqués au déploiement, obtenez une description du déploiement :

gcloud deployment-manager deployments describe example-deployment
---
fingerprint: 0p03t0z31PQLOrGH8KdhWQ==
id: '2204841443843636456'
insertTime: '2017-04-18T09:42:47.323-07:00'
labels:
- key: environment
  value: production
- 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

Dans l'API, suivez les instructions pour créer votre déploiement et inclure la nouvelle propriété labels dans votre corps de requête. Exemple :

{
  "name": "example-deployment",
  "target": {
    "config": {
      "content": "..."
      },
   }
  "labels": [
  {
    "key": "environment",
    "value": "production"
  },
  {
    "key": "storage",
    "value": "media"
  }
 ]
}

Supprimer des libellés

Console

  1. Accédez à la page Déploiements de la console Google Cloud.

    Accéder à la page Déploiements

  2. Si vous y êtes invité, sélectionnez votre projet et cliquez sur Continuer.

  3. Cochez la case à côté du déploiement dont vous souhaitez supprimer les libellés. Un panneau latéral apparaît.

  4. Cliquez sur le signe X à côté de chaque étiquette que vous souhaitez supprimer.

  5. Enregistrez les modifications.

gcloud

Dans gcloud, supprimez des étiquettes en utilisant la commande deployments update et en fournissant l'indicateur --remove-labels suivi d'une liste de clés d'étiquette à supprimer (séparées par une virgule).

Par exemple, la commande suivante supprime une étiquette assortie de la clé environment :

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

API

Dans l'API, suivez les instructions pour mettre à jour votre déploiement et veillez à ne pas faire figurer la propriété labels dans le corps de la requête, ce qui aura pour effet de supprimer les étiquettes.

Ajouter ou mettre à jour des libellés

Vous pouvez ajouter ou mettre à jour des libellés sur des déploiements existants.

Console

  1. Accédez à la page Déploiements de Google Cloud Console.

    Accéder à la page Déploiements

  2. Si vous y êtes invité(e), sélectionnez votre projet et cliquez sur Continuer.

  3. Cochez la case à côté du déploiement dont vous souhaitez mettre à jour les libellés. Un panneau latéral s'ouvre.

  4. Pour modifier les valeurs des libellés, mettez à jour les entrées de libellés appropriées. Si vous souhaitez modifier la clé d'un libellé, vous devez supprimer le libellé, puis l'ajouter à nouveau avec la nouvelle clé.

  5. Enregistrez les modifications.

gcloud

Dans gcloud, mettez à jour ou ajoutez des étiquettes en utilisant la commande deployments update et en fournissant l'indicateur --update-labels suivi d'une liste d'étiquettes mises à jour (séparées par une virgule) :

Par exemple, la commande suivante met à jour l'étiquette environment :

gcloud deployment-manager deployments update example-deployment --update-labels environment=production

API

Dans l'API, suivez les instructions pour mettre à jour votre déploiement et veillez à ne pas faire figurer la propriété labels dans le corps de la requête, ce qui aura pour effet de supprimer les étiquettes.

Ajouter des libellés à un déploiement en mode aperçu

Avant de créer un déploiement, vous pouvez le prévisualiser. Dans le cadre de l'aperçu, vous pouvez attribuer des libellés au déploiement prévisualisé. Exemple :

gcloud deployment-manager deployments create example-deployment --config example-config.yaml \
    --labels environment=production --preview

Pour modifier les libellés d'un déploiement en mode aperçu, vous devez mettre à jour l'aperçu avec les nouveaux libellés. Pour en savoir plus sur les aperçus, consultez la documentation Prévisualiser une configuration.

Filtrer les résultats de recherches à l'aide de libellés

Vous pouvez rechercher des ressources et filtrer les résultats par libellé.

Console

  1. Accédez à la page Déploiements de Google Cloud Console.

    Accéder à la page Déploiements

  2. Si vous y êtes invité, sélectionnez votre projet et cliquez sur Continuer.

  3. Dans la barre de recherche, commencez à saisir labels.. La barre de recherche répertorie automatiquement les libellés utilisables pour le filtrage.

gcloud

Dans gcloud, exécutez une requête list et utilisez l'option --filter. Pour effectuer un filtrage à l'aide des étiquettes, utilisez la syntaxe labels.[KEY]=[VALUE]. Par exemple, si vous souhaitez effectuer un filtrage à l'aide d'une étiquette assortie de la clé environment et de la valeur production, vous pouvez exécuter la commande suivante :

gcloud deployment-manager deployments list --filter labels.environment=production

Pour obtenir une documentation complète sur la syntaxe du filtrage dans gcloud CLI, consultez la documentation gcloud topic filters.

API

Dans l'API, exécutez une requête "list" avec un paramètre de requête filter encodé au format URL. Par exemple, pour effectuer un filtrage en fonction d'une clé de libellé environment dont la valeur est production, exécutez la requête GET suivante :

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

Pour plus d'informations, consultez la documentation filter dans la documentation de référence de l'API.

Étape suivante