Créer et gérer des tags dans GKE

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Cette page vous explique comment créer et gérer des tags dans vos clusters Google Kubernetes Engine (GKE).

Présentation

Un tag est une paire clé-valeur qui peut être associée à une ressource dans Google Cloud. Vous pouvez utiliser des tags pour autoriser ou refuser de manière conditionnelle les règles selon qu'une ressource dispose d'un tag spécifique.

En tant qu'administrateur de plate-forme, vous pouvez utiliser les contrôles d'accès et les tags pour attribuer des rôles IAM (gestion de l'authentification et des accès) de manière conditionnelle, selon qu'un cluster possède ou non un tag spécifique. Par exemple, vous pouvez configurer GKE pour qu'il attribue automatiquement des rôles IAM aux utilisateurs prestataires afin qu'ils puissent accéder à des clusters spécifiques qui ne sont normalement disponibles que pour les employés à temps plein.

Après avoir créé un tag, vous pouvez l'associer à une ressource Google Cloud en tant que paire clé/valeur à l'aide d'une liaison de tag. Pour chaque clé, vous pouvez associer une valeur à une ressource. Par exemple, si vous avez associé env:dev à un cluster GKE, vous ne pouvez pas également associer env:prod ou env:test. Vous pouvez associer jusqu'à 50 tags à chaque ressource.

Dans GKE, plusieurs méthodes permettent d'annoter vos ressources, comme indiqué dans le tableau suivant :

Type d'annotation Tags Libellé de cluster GKE Libellés Kubernetes
Niveau Cluster GKE Cluster GKE Objet Kubernetes
Usage Autoriser ou refuser des règles de manière conditionnelle en fonction du tag Organiser les ressources GKE pour suivre l'utilisation et la facturation Associer des composants et des ressources de cluster et gérer les cycles de vie des ressources
Exemple Accorder automatiquement aux utilisateurs prestataires l'accès à des clusters spécifiques qui ne sont normalement disponibles que pour les employés à temps plein Faire la distinction entre les clusters qui appartiennent à des centres de coûts ou à des équipes spécifiques de votre organisation Exiger que les charges de travail soient planifiées sur des nœuds dotés de libellés spécifiques
En savoir plus Présentation des tags Libellés de cluster Libellés et sélecteurs Kubernetes

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

  • Activez l'API Google Kubernetes Engine.
  • Activer l'API Google Kubernetes Engine
  • Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI.

Créer des clés et des valeurs de tags

Avant de pouvoir associer un tag à vos ressources GKE, vous devez créer le tag et configurer ses valeurs. Pour créer des clés et des valeurs de tag, consultez les sections Créer un tag et Ajouter des valeurs de tag.

Associer des tags à un cluster

Vous pouvez associer des tags à un cluster existant, si vous disposez des autorisations appropriées, à l'aide de Google Cloud CLI, de la console Google Cloud ou de l'API Tags.

gcloud

Pour créer une liaison de tag afin d'associer un tag à un cluster, exécutez la commande suivante :

gcloud alpha resource-manager tags bindings create \
    --tag-value=TAG_VALUE_ID \
    --parent=RESOURCE_ID \
    --location=CLUSTER_LOCATION

Remplacez les éléments suivants :

  • TAG_VALUE_ID : ID permanent ou nom de l'espace de noms de la valeur de tag à associer. Par exemple, tagValues/4567890123. Pour en savoir plus sur les identifiants de tag, consultez la section Définitions et identifiants de tags.
  • CLUSTER_LOCATION : pour les clusters régionaux, spécifiez la région de calcul, par exemple us-central1. Pour les clusters zonaux, spécifiez la zone de calcul, par exemple us-central1-a.
  • RESOURCE_ID : nom complet de la ressource de votre cluster, tel que //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/clusters/CLUSTER_NAME.

    Dans l'ID de ressource :

    • PROJECT_ID : ID de votre projet Google Cloud.
    • CLUSTER_NAME : le nom du cluster

Console

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Dans la liste des clusters, cliquez sur le nom du cluster que vous souhaitez modifier.

  3. Dans la section Métadonnées, à côté de Tags, cliquez sur Modifier les tags.

  4. Si votre organisation n'apparaît pas dans le panneau Tags, cliquez sur Sélectionner un niveau d'accès. Sélectionnez votre organisation, puis cliquez sur Ouvrir.

  5. Dans le panneau Tags, sélectionnez Ajouter un tag.

  6. Dans la liste, sélectionnez la clé du tag que vous souhaitez associer. Vous pouvez filtrer la liste en saisissant des mots clés.

  7. Dans la liste, sélectionnez la valeur du tag que vous souhaitez associer. Vous pouvez filtrer la liste en saisissant des mots clés.

  8. Cliquez sur Enregistrer.

  9. Dans la boîte de dialogue Confirmer, cliquez sur Confirmer pour associer le tag.

    Une notification confirme que vos tags ont été mis à jour.

API

Pour associer un tag à une ressource, vous devez d'abord créer une représentation JSON d'une liaison de tag incluant les ID permanents de la valeur de tag et de la ressource. Pour en savoir plus sur le format d'une liaison de tag, consultez la documentation de référence sur la liaison de tag.

Utilisez la méthode tagBindings.create avec le point de terminaison régional ou zonal où se trouve votre cluster.

POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

Remplacez LOCATION par la région ou la zone où se trouve votre cluster, par exemple us-central1.

Corps de la requête JSON :

{
  "parent": "RESOURCE_ID",
  "tagValue": "TAG_VALUE_ID"
}

Remplacez les éléments suivants :

  • RESOURCE_ID : nom complet de la ressource de votre cluster, tel que //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/clusters/CLUSTER_NAME.

    Dans l'ID de ressource :

    • PROJECT_ID : ID de votre projet Google Cloud.
    • CLUSTER_NAME : le nom du cluster
  • TAG_VALUE_ID : ID permanent ou nom de l'espace de noms de la valeur de tag à associer. Par exemple, tagValues/4567890123. Pour en savoir plus sur les identifiants de tag, consultez la section Définitions et identifiants de tags.

Le résultat ressemble à ce qui suit :

{
  "done": true,
  "response": {
    "@type": "type.googleapis.com/google.cloud.resourcemanager.v3.TagBinding",
    "name": "tagBindings///container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME/tagValues/TAG_VALUE_ID",
    "parent": "//container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME",
    "tagValue": "TAG_VALUE_ID"
  }
}

Répertorier les tags associés à un cluster

Vous pouvez répertorier les tags associés à un cluster à l'aide de gcloud CLI, de la console Google Cloud ou de l'API Tags.

gcloud

Pour obtenir la liste des liaisons de tags associées à un cluster, exécutez la commande suivante :

gcloud alpha resource-manager tags bindings list \
    --parent=RESOURCE_ID \
    --location=CLUSTER_LOCATION

Remplacez les éléments suivants :

  • CLUSTER_LOCATION : pour les clusters régionaux, spécifiez la région de calcul, par exemple us-central1. Pour les clusters zonaux, spécifiez la zone de calcul, par exemple us-central1-a.

  • RESOURCE_ID : nom complet de la ressource de votre cluster, tel que //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/clusters/CLUSTER_NAME.

    Dans l'ID de ressource :

    • PROJECT_ID : ID de votre projet Google Cloud.

    • CLUSTER_NAME : le nom du cluster

Console

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Dans la liste des clusters, cliquez sur le nom du cluster que vous souhaitez afficher.

  3. Dans la section Métadonnées, à côté de Tags, recherchez les valeurs de tag actuellement associées.

API

Pour obtenir la liste des liaisons de tags pour un cluster, utilisez la méthode tagBindings.list avec le point de terminaison régional ou zonal où se trouve votre cluster.

GET https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

Corps de la requête JSON :

{
  "parent": RESOURCE_ID,
}

Remplacez les éléments suivants :

  • RESOURCE_ID : nom complet de la ressource de votre cluster, tel que //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/clusters/CLUSTER_NAME.

    Dans l'ID de ressource :

    • PROJECT_ID : ID de votre projet Google Cloud.
    • CLUSTER_NAME : le nom du cluster

Le résultat ressemble à ce qui suit :

"tagBindings": [
  {
    "name": "tagBindings/%2F%2Fcontainer.googleapis.com%2Fprojects%2Ftags-bugbash-project%2Flocations%2Fus-central1%2Fclusters%2Ftestcluster/tagValues/758072120217",
    "parent": "//container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME",
    "tagValue": "TAG_VALUE_ID"
  }
]

Dissocier des tags d'un cluster

Vous pouvez dissocier un tag d'un cluster en supprimant la ressource de liaison de tag associée au cluster à l'aide de gcloud CLI, de la console Google Cloud ou de l'API Tags. Si vous devez supprimer un tag, vous devez d'abord dissocier toutes les ressources associées.

gcloud

Pour dissocier une liaison de tag associée à un cluster, exécutez la commande suivante :

gcloud alpha resource-manager tags bindings delete \
    --tag-value=TAG_VALUE_ID \
    --parent=RESOURCE_ID \
    --location=CLUSTER_LOCATION

Remplacez les éléments suivants :

  • TAG_VALUE_ID : ID permanent ou nom de l'espace de noms de la valeur de tag à dissocier. Par exemple, tagValues/4567890123. Pour en savoir plus sur les identifiants de tag, consultez la section Définitions et identifiants de tags.

  • CLUSTER_LOCATION : pour les clusters régionaux, spécifiez la région de calcul, par exemple us-central1. Pour les clusters zonaux, spécifiez la zone de calcul, par exemple us-central1-a.

  • RESOURCE_ID : nom complet de la ressource de votre cluster, tel que //container.googleapis.com/projects/PROJECT_ID/locations/CLUSTER_LOCATION/clusters/CLUSTER_NAME.

    Dans l'ID de ressource :

    • PROJECT_ID : ID de votre projet Google Cloud.

    • CLUSTER_NAME : le nom du cluster

Console

  1. Accédez à la page Google Kubernetes Engine dans Google Cloud Console.

    Accéder à Google Kubernetes Engine

  2. Dans la liste des clusters, cliquez sur le nom du cluster que vous souhaitez modifier.

  3. Dans la section Métadonnées, à côté de Tags, cliquez sur Modifier les tags.

  4. Dans le panneau Tags, à côté du tag que vous souhaitez dissocier, cliquez sur Supprimer l'élément.

  5. Cliquez sur Enregistrer.

  6. Dans la boîte de dialogue Confirmer, cliquez sur Confirmer pour dissocier le tag.

    Une notification confirme que vos tags ont été mis à jour.

API

Pour supprimer des liaisons de tags pour un cluster, utilisez la méthode tagBindings.delete avec le point de terminaison régional ou zonal où se trouve votre cluster.

DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/TAG_BINDING_NAME

Remplacez TAG_BINDING_NAME par le nom complet de ressource de l'objet tagBinding que vous souhaitez dissocier. Par exemple, tagBindings/container.googleapis.com/projects/PROJECT_ID/locations/LOCATION/tagValues/TAG_VALUE_ID.

Supprimer les clés et les valeurs de tag

Avant de supprimer des clés et des valeurs de tags, assurez-vous que les tags sont dissociés de toutes les ressources. Consultez la section Supprimer des tags pour savoir comment supprimer les clés et les valeurs.

Conditions et tags Identity and Access Management

Vous pouvez utiliser des tags et des conditions IAM pour attribuer des liaisons de rôles de manière conditionnelle aux utilisateurs dans votre hiérarchie de projet. Lorsque vous modifiez ou supprimez le tag associé à un cluster, GKE peut supprimer l'accès des utilisateurs à ce cluster si une stratégie IAM avec des liaisons de rôles conditionnelles a été appliquée. Pour en savoir plus, consultez la section Conditions et tags IAM (Identity and Access Management).

Étapes suivantes