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.
Assurez-vous de disposer des rôles IAM suivants :
roles/resourcemanager.tagAdmin
roles/resourcemanager.tagUser
Pour en savoir plus sur les autorisations accordées par ces rôles, consultez la section Autorisations requises.
Assurez-vous de disposer d'un cluster GKE en cours d'exécution.
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 exempleus-central1
. Pour les clusters zonaux, spécifiez la zone de calcul, par exempleus-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
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Dans la liste des clusters, cliquez sur le nom du cluster que vous souhaitez modifier.
Dans la section Métadonnées, à côté de Tags, cliquez sur
Modifier les tags.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.
Dans le panneau Tags, sélectionnez Ajouter un tag.
Dans la liste, sélectionnez la clé du tag que vous souhaitez associer. Vous pouvez filtrer la liste en saisissant des mots clés.
Dans la liste, sélectionnez la valeur du tag que vous souhaitez associer. Vous pouvez filtrer la liste en saisissant des mots clés.
Cliquez sur Enregistrer.
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 exempleus-central1
. Pour les clusters zonaux, spécifiez la zone de calcul, par exempleus-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
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Dans la liste des clusters, cliquez sur le nom du cluster que vous souhaitez afficher.
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 exempleus-central1
. Pour les clusters zonaux, spécifiez la zone de calcul, par exempleus-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
Accédez à la page Google Kubernetes Engine dans Google Cloud Console.
Dans la liste des clusters, cliquez sur le nom du cluster que vous souhaitez modifier.
Dans la section Métadonnées, à côté de Tags, cliquez sur
Modifier les tags.Dans le panneau Tags, à côté du tag que vous souhaitez dissocier, cliquez sur
Supprimer l'élément.Cliquez sur Enregistrer.
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
- Découvrez comment définir une règle d'administration avec des tags.
- Découvrez comment gérer les tags et associer des tags à des ressources.
- Consultez les autres services compatibles avec les tags.
- Apprenez à utiliser des tags avec IAM.