Configurer des équipes pour votre parc

Cette page s'adresse aux administrateurs de plate-forme qui souhaitent configurer et gérer l'utilisation du parc d'une équipe. Les fonctionnalités de gestion d'équipes de parc ne sont disponibles que pour les utilisateurs qui ont activé GKE Enterprise.

Dans cette page, nous partons du principe que vous avez déjà lu notre présentation de la gestion d'équipes de parc.

Présentation de la configuration de l'équipe

Vous pouvez configurer des équipes à l'aide de Google Cloud CLI, de la console Google Cloud ou de Terraform.

La procédure générale de configuration d'une équipe est la suivante:

  1. Sélectionnez ou créez le parc pour lequel vous souhaitez configurer l'accès des équipes, et assurez-vous de disposer des autorisations et des API appropriées pour terminer la configuration.
  2. (Facultatif, mais recommandé) Configurez le contrôle des accès pour Google Groupes sur vos clusters de parc.
  3. Déterminez les utilisateurs qui composent l'équipe et assurez-vous qu'ils ont accès au parc. Une équipe peut inclure des groupes Google (recommandé) et/ou des comptes individuels.
  4. Créez un niveau d'accès d'équipe pour l'équipe.
  5. Ajoutez un ou plusieurs clusters membres du parc (ou tous) au niveau d'accès de l'équipe.
  6. Définissez des espaces de noms au niveau du parc et associez-les au niveau d'accès de l'équipe.
  7. Accordez aux membres de l'équipe l'accès à leur nouveau niveau d'accès à l'aide d'une ressource RBACRoleBinding.
  8. (Facultatif) Utilisez Config Sync pour synchroniser les ressources Kubernetes avec les niveaux d'accès et les espaces de noms d'équipe.

L'équipe peut ensuite obtenir des identifiants pour accéder à ses clusters à l'aide de la passerelle Connect.

Configurer Google Cloud CLI

Même si vous créez des niveaux d'accès d'équipe à l'aide de la console Google Cloud, vous devrez peut-être configurer gcloud CLI afin de remplir certaines conditions préalables lors de la configuration de votre parc, telles que l'activation des API requises.

  1. Assurez-vous de disposer de la dernière version de Google Cloud CLI, y compris du composant alpha de Google Cloud CLI. Vous devez disposer au minimum de la version 419.0.0 pour utiliser les commandes de gestion d'équipe de parc.

  2. Exécutez la commande suivante pour vous connecter à Google Cloud :

    gcloud auth login
    
  3. Initialisez gcloud CLI pour l'utiliser avec le projet hôte du parc choisi ou exécutez la commande suivante pour définir le projet hôte de parc par défaut:

    gcloud config set project PROJECT_ID
    

    Vous pouvez utiliser l'option --project avec l'une des commandes suivantes pour spécifier un autre projet hôte de parc, si nécessaire.

Configurer votre parc

Sélectionnez ou créez le parc dans lequel vous souhaitez configurer une nouvelle équipe. Pour obtenir des instructions et des exemples afin de structurer vos parcs, consultez la page Exemples de parcs et les autres guides de la page Planifier votre parc.

Si vous souhaitez créer un parc nommé dans un projet qui n'en possède pas encore, exécutez la commande suivante (vous devez d'abord configurer Google Cloud CLI) :

  gcloud container fleet create \
    --display-name=NAME \
    --project=FLEET_HOST_PROJECT_ID

Si vous ne spécifiez pas de display-name, le nouveau parc est créé avec un nom à afficher par défaut basé sur le nom du projet hôte du parc.

Rôles IAM requis

Si vous ne disposez pas de roles/owner dans le projet hôte du parc, vous avez besoin de roles/gkehub.admin pour créer et configurer les niveaux d'accès et les espaces de noms d'équipe. Un propriétaire de projet peut attribuer ce rôle à l'aide de la commande suivante:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member user:USER_EMAIL_ADDRESS \
    --role='roles/gkehub.admin'

Activer les API

Assurez-vous que toutes les API requises sont activées pour votre projet hôte de parc, y compris l'API GKE Enterprise:

gcloud services enable --project=PROJECT_ID \
   gkehub.googleapis.com \
   container.googleapis.com \
   connectgateway.googleapis.com \
   cloudresourcemanager.googleapis.com \
   iam.googleapis.com \
   anthos.googleapis.com

Si vous désactivez l'API GKE Enterprise après avoir configuré la gestion des équipes de parc, certains aspects de la fonctionnalité continueront de fonctionner, mais vous ne pourrez pas mettre à jour ni créer des niveaux d'accès d'équipe ou des espaces de noms de parc.

Configurer les clusters pour le contrôle des accès avec Google Groupes

Bien que vous puissiez configurer l'accès d'une équipe à l'aide du contrôle RBAC pour les clusters membres d'un parc, utilisateur par utilisateur, sans configuration de cluster supplémentaire, nous vous recommandons d'accorder aux membres de l'équipe l'accès aux clusters en fonction de leur appartenance à un groupe Google. Accorder des autorisations en fonction de l'appartenance à un groupe vous évite d'avoir à configurer une autorisation distincte pour chaque compte, ce qui simplifie la gestion et facilite l'audit des règles, et vous évite d'avoir à ajouter/supprimer manuellement des utilisateurs des clusters lorsqu'ils rejoignent ou quittent l'équipe. Utilisez les guides suivants pour vous assurer que les clusters que vous souhaitez attribuer à des niveaux d'accès d'équipe peuvent utiliser Google Groupes avec la passerelle Connect pour le contrôle des accès:

Accorder aux membres de l'équipe l'accès au parc

Ensuite, décidez ou découvrez quels utilisateurs composent l'équipe et assurez-vous qu'ils ont accès au parc. Comme indiqué dans la section précédente, nous vous recommandons d'accorder aux membres de votre équipe l'accès à leurs ressources en fonction de l'appartenance à un groupe Google, bien que la gestion des équipes vous permette également d'accorder l'accès à des utilisateurs individuels. Assurez-vous que les groupes Google ou les personnes concernées disposent des rôles IAM (Identity and Access Management) appropriés configurés pour fonctionner avec les clusters de parcs:

gcloud projects add-iam-policy-binding PROJECT_ID \
   --member=group:TEAM_EMAIL \
   --role=roles/gkehub.viewer

gcloud projects add-iam-policy-binding PROJECT_ID \
   --member=group:TEAM_EMAIL \
   --role=roles/gkehub.gatewayEditor
  • PROJECT_ID est l'ID de votre projet hôte de parc.
  • TEAM_EMAIL est l'adresse e-mail du groupe Google d'une équipe.

Ces commandes permettent aux membres de l'équipe d'afficher tous les clusters du parc dans la console Google Cloud (pour Google Groupes uniquement) et d'utiliser la passerelle Connect pour se connecter aux clusters membres du parc avec une autorisation basée sur Google Groupes.

Configurer une nouvelle équipe

Les instructions suivantes vous expliquent comment créer un niveau d'accès d'équipe pour une équipe.

gcloud

Créer un niveau d'accès d'équipe

Pour créer un niveau d'accès d'équipe dans un parc, exécutez la commande suivante, où SCOPE_NAME correspond au nom d'identification unique que vous avez choisi pour votre nouveau niveau d'accès :

gcloud container fleet scopes create SCOPE_NAME

Ajouter des clusters à un niveau d'accès d'équipe

Seuls les membres de parc existants peuvent être ajoutés aux niveaux d'accès d'équipe. Ces instructions partent du principe que le cluster que vous souhaitez ajouter au niveau d'accès est déjà membre du parc. Si vous devez ajouter le cluster à votre parc, suivez les instructions correspondant à votre type de cluster dans la section Créer votre parc pour enregistrer le cluster. Assurez-vous que le cluster nouvellement enregistré est configuré pour utiliser Google Groupes pour le contrôle des accès, comme décrit précédemment.

Un cluster membre d'un parc peut être ajouté à un nombre illimité de niveaux d'accès d'équipe dans son projet hôte de parc.

Pour ajouter un cluster à un niveau d'accès d'équipe, exécutez la commande suivante:

gcloud container fleet memberships bindings create BINDING_NAME \
  --membership MEMBERSHIP_NAME \
  --scope  SCOPE_NAME \
  --location MEMBERSHIP_LOCATION

Remplacez les éléments suivants :

  • BINDING_NAME: nom représentant la relation entre le cluster et le niveau d'accès de l'équipe. Nous vous suggérons d'utiliser MEMBERSHIP_NAME-SCOPE_NAME.
  • MEMBERSHIP_NAME: identifiant unique du cluster dans le parc (généralement le nom du cluster).
  • (Facultatif) MEMBERSHIP_LOCATION: emplacement d'appartenance du cluster. Si vous omettez cette valeur, la valeur est global, qui est la valeur par défaut pour les enregistrements de cluster.

Créer des espaces de noms de parc

Pour créer un espace de noms dans un niveau d'accès d'équipe, exécutez la commande suivante:

gcloud container fleet scopes namespaces create NAMESPACE_NAME --scope=SCOPE_NAME

Remplacez les éléments suivants :

  • NAMESPACE_NAME: nom unique que vous avez choisi pour l'espace de noms dans le parc. Assurez-vous que NAMESPACE_NAME n'entre pas en conflit avec les restrictions de dénomination des espaces de noms de parc.
  • SCOPE_NAME: niveau d'accès d'équipe pour lequel vous souhaitez utiliser l'espace de noms.

Cette commande crée un espace de noms Kubernetes appelé NAMESPACE_NAME dans chaque cluster du niveau d'accès de l'équipe. Les membres de l'équipe peuvent utiliser NAMESPACE_NAME comme n'importe quel autre espace de noms Kubernetes une fois que vous leur avez accordé l'accès à leur niveau d'accès. Si vous disposez déjà d'un espace de noms Kubernetes existant appelé NAMESPACE_NAME dans le niveau d'accès de l'équipe, il est considéré comme faisant partie du nouvel espace de noms du parc. Ceci est parfois appelé intégration de l'espace de noms.

Accorder un accès de niveau d'accès à l'équipe avec RBAC

Les membres de l'équipe peuvent ensuite se voir accorder l'accès à leur niveau d'accès à l'aide du contrôle RBAC. Utilisez la commande suivante pour accorder à un groupe Google l'accès à un niveau d'accès d'équipe:

gcloud container fleet scopes rbacrolebindings create BINDING_NAME \
   --scope=SCOPE_NAME \
   --role=ROLE \
   --group=TEAM_EMAIL

Remplacez les éléments suivants :

  • BINDING_NAME: nom de chaîne pour représenter cette liaison.
  • SCOPE_NAME: identifiant unique du niveau d'accès de l'équipe.
  • ROLE: rôle RBAC que vous souhaitez attribuer aux membres de l'équipe, qui peut être admin, edit ou view.
  • TEAM_EMAIL: adresse e-mail du groupe Google de l'équipe.

Si vous devez accorder à un utilisateur individuel l'accès à un espace de noms, exécutez plutôt la commande suivante, où USER_EMAIL correspond à l'adresse e-mail de l'ID Google de l'utilisateur:

gcloud container fleet scopes rbacrolebindings create BINDING_NAME \
   --scope=SCOPE_NAME \
   --role=ROLE \
   --user=USER_EMAIL

Console

Créer un niveau d'accès d'équipe

  1. Après avoir sélectionné le projet hôte de votre parc, accédez à la section Équipes dans la console Google Cloud.

    Accéder à la page "Teams" (Équipes)

  2. En haut de la page, cliquez sur Create Team Scope (Créer un niveau d'accès d'équipe).

  3. Sur la page Principes de base de l'équipe, dans le champ Nom, saisissez un nom unique pour le niveau d'accès de votre équipe. Vous ne pourrez plus modifier ce nom une fois le niveau d'accès de l'équipe créé.

  4. Pour ajouter des membres d'équipe au niveau d'accès, cliquez sur Ajouter un membre d'équipe.

    • Dans le champ Type, sélectionnez User (Utilisateur) pour ajouter un membre de l'équipe, ou Group (Groupe) pour ajouter un groupe Google (recommandé).
    • Dans le champ Utilisateur ou groupe, saisissez l'adresse e-mail du membre de l'équipe ou du groupe.
    • Dans le champ Rôle, sélectionnez Administrateur, Éditeur ou Lecteur afin de spécifier le niveau d'accès du membre de l'équipe ou du groupe au niveau d'accès d'équipe.
    • Pour ajouter d'autres membres de l'équipe, répétez les trois étapes précédentes.
  5. Pour créer le niveau d'accès d'équipe sans ajouter de clusters et d'espaces de noms à ce stade, cliquez sur Créer un niveau d'accès d'équipe. Sinon, passez à la section suivante pour ajouter des clusters au niveau d'accès.

Ajouter des clusters au niveau d'accès de l'équipe

Pour associer un cluster à un niveau d'accès d'équipe, celui-ci doit être un membre existant du parc. Si vous devez ajouter le cluster à votre parc, suivez les instructions correspondant à votre type de cluster dans la section Créer votre parc pour enregistrer le cluster. Assurez-vous que le cluster nouvellement enregistré est configuré pour utiliser Google Groupes pour le contrôle des accès, comme décrit précédemment.

Un cluster membre du parc peut être ajouté à un nombre illimité de niveaux d'accès d'équipe dans son projet hôte de parc, ce qui permet à différentes équipes d'exécuter des charges de travail sur le même cluster.

  1. Sur la page Principes de base de l'équipe, cliquez sur Continuer après avoir ajouté des membres d'équipe à votre niveau d'accès.
  2. Sur la page Clusters, vous pouvez sélectionner les clusters de parc à associer à ce niveau d'accès d'équipe. Dans la liste déroulante Clusters, cochez les clusters que vous souhaitez ajouter, puis cliquez sur OK.

Créer des espaces de noms de parc

Les membres de l'équipe peuvent utiliser des espaces de noms de parc comme n'importe quel autre espace de noms Kubernetes. Lorsque vous créez un espace de noms de parc, un espace de noms Kubernetes correspondant est créé dans tous les clusters du niveau d'accès de l'équipe, s'il n'existe pas déjà.

  1. Sur la page Clusters, après avoir ajouté des clusters à votre niveau d'accès d'équipe, cliquez sur Continuer.
  2. Sur la page Espaces de noms, cliquez sur Ajouter un espace de noms.
  3. Pour ajouter d'autres espaces de noms de parc au niveau d'accès, répétez l'étape précédente.
  4. Pour créer le niveau d'accès d'équipe, cliquez sur Créer un niveau d'accès d'équipe. Une fois le niveau d'accès de l'équipe créé, vous pouvez l'afficher et le modifier si nécessaire en cliquant sur son nom dans la section Teams (Équipes).

Terraform

Cette section vous explique comment configurer une nouvelle équipe à l'aide de Terraform. Pour obtenir plus d'informations et d'autres exemples, consultez la documentation de référence sur les ressources suivantes:

Créer un niveau d'accès d'équipe

Pour créer un niveau d'accès d'équipe, vous pouvez utiliser le bloc suivant dans votre configuration Terraform.

  resource "google_gke_hub_scope" "TF_SCOPE_RESOURCE_NAME" {
    scope_id = "SCOPE_NAME"
  }

Remplacez les éléments suivants :

  • TF_SCOPE_RESOURCE_NAME : nom que vous choisissez pour identifier de manière unique la ressource google_gke_hub_scope Terraform créée par ce bloc.
  • SCOPE_NAME: nom d'identification unique du niveau d'accès de votre équipe.

Ajouter des clusters au niveau d'accès

Seuls les membres de parc existants peuvent être ajoutés aux niveaux d'accès d'équipe. Si vous devez ajouter le cluster à votre parc, suivez les instructions correspondant à votre type de cluster dans la section Créer votre parc pour enregistrer le cluster. Assurez-vous que le cluster nouvellement enregistré est configuré pour utiliser Google Groupes pour le contrôle des accès, comme décrit précédemment.

Pour ajouter un cluster à un niveau d'accès d'équipe, utilisez le bloc suivant dans votre configuration:

  resource "google_gke_hub_membership_binding" "TF_MEMBERSHIP_BINDING_RESOURCE_NAME" {
    membership_binding_id = "BINDING_NAME"
    scope = SCOPE_NAME
    membership_id = MEMBERSHIP_NAME
    location = "MEMBERSHIP_LOCATION"
  }

Remplacez les éléments suivants :

  • TF_MEMBERSHIP_BINDING_RESOURCE_NAME: nom permettant d'identifier la ressource google_gke_hub_membership_binding créée par ce bloc.
  • BINDING_NAME: nom représentant la relation entre le cluster et le niveau d'accès. Nous vous suggérons d'utiliser MEMBERSHIP_NAME-SCOPE_NAME.
  • SCOPE_NAME: nom du niveau d'accès de votre équipe.
  • MEMBERSHIP_NAME: identifiant unique du cluster dans le parc (généralement le nom du cluster).
  • MEMBERSHIP_LOCATION: emplacement de l'appartenance au cluster.

Créer des espaces de noms de parc

Les membres de l'équipe peuvent utiliser des espaces de noms de parc comme n'importe quel autre espace de noms Kubernetes. Vous pouvez créer un espace de noms ou intégrer un espace de noms existant. Lorsque vous créez un espace de noms de parc, un espace de noms Kubernetes correspondant est créé dans tous les clusters du niveau d'accès de l'équipe, s'il n'existe pas déjà.

Pour créer un espace de noms de parc, utilisez le bloc suivant dans votre configuration:

  resource "google_gke_hub_namespace" "TF_NAMESPACE_RESOURCE_NAME" {
    scope_namespace_id = "NAMESPACE_NAME"
    scope_id = SCOPE_NAME
    scope = SCOPE_NAME
  }

Remplacez les éléments suivants :

  • TF_NAMESPACE_RESOURCE_NAME: nom permettant d'identifier la ressource google_gke_hub_namespace créée par ce bloc.
  • NAMESPACE_NAME: nom unique que vous avez choisi pour l'espace de noms du parc. Assurez-vous que ce nom n'entre pas en conflit avec les restrictions de dénomination des espaces de noms de parc.
  • SCOPE_NAME: nom du niveau d'accès d'équipe dans lequel l'espace de noms du parc est créé.

Accorder un accès au niveau d'accès avec RBAC

Les membres de l'équipe peuvent être autorisés à accéder à leur niveau d'accès à l'aide du contrôle RBAC. Par exemple, voici une configuration permettant d'accorder à un utilisateur individuel l'accès à un niveau d'accès d'équipe:

  resource "google_gke_hub_scope_rbac_role_binding" "TF_RBAC_ROLE_BINDING_NAME" {
    scope_rbac_role_binding_id = "BINDING_NAME"
    scope_id = SCOPE_NAME
    user = USER_EMAIL
    role {
      predefined_role = "ROLE"
    }
  }

Remplacez les éléments suivants :

  • TF_RBAC_ROLE_BINDING_NAME: nom permettant d'identifier la ressource google_gke_hub_scope_rbac_role_binding créée par ce bloc.
  • BINDING_NAME: nom représentant cette liaison.
  • SCOPE_NAME: nom du niveau d'accès de l'équipe.
  • USER_EMAIL : Adresse e-mail de l'utilisateur.
  • ROLE: rôle RBAC que vous souhaitez accorder à l'utilisateur, qui peut être admin, edit ou view.

Pour accorder à un groupe Google l'accès à un niveau d'accès d'équipe, utilisez group au lieu de user dans la configuration précédente, et utilisez l'adresse e-mail du groupe Google de l'équipe.

Accéder aux espaces de noms de parc

Une fois la configuration terminée, les membres de l'équipe peuvent accéder aux espaces de noms de leur niveau d'accès en obtenant les identifiants de cluster appropriés. Pour obtenir les identifiants d'un cluster membre de parc à l'aide de la passerelle Connect, exécutez la commande suivante, où MEMBERSHIP_NAME est le nom de l'appartenance au parc du cluster:

   gcloud container fleet memberships get-credentials  MEMBERSHIP_NAME

Pour en savoir plus, consultez la page Utiliser la passerelle Connect.

Gérer les niveaux d'accès d'une équipe

Utilisez les commandes suivantes pour gérer les niveaux d'accès d'équipe.

gcloud

Répertorier les niveaux d'accès d'équipe

Pour répertorier tous les niveaux d'accès d'un parc, exécutez la commande suivante:

gcloud container fleet scopes list

Pour répertorier tous les niveaux d'accès associés à un cluster, exécutez la commande suivante:

gcloud container fleet memberships bindings list --membership MEMBERSHIP_NAME

Supprimer des clusters des niveaux d'accès d'équipe

Pour supprimer un cluster d'un niveau d'accès, exécutez la commande suivante:

gcloud container fleet memberships bindings delete BINDING_NAME --membership MEMBERSHIP_NAME

Supprimer un niveau d'accès d'équipe

Pour supprimer un niveau d'accès de votre parc, exécutez la commande suivante:

gcloud container fleet scopes delete SCOPE_NAME

Console

Répertorier les niveaux d'accès d'équipe

Pour afficher tous les niveaux d'accès d'un parc, avec votre projet hôte de parc sélectionné, accédez à la section Équipes dans la console Google Cloud.

Accéder à la page "Teams" (Équipes)

La page Teams (Équipes) affiche la liste de tous les niveaux d'accès d'équipe créés pour votre parc, ainsi qu'un résumé de l'utilisation des ressources pour chaque niveau d'accès, y compris le nombre d'erreurs et de redémarrages du conteneur.

Afficher les détails du niveau d'accès de l'équipe

Pour chaque niveau d'accès d'équipe, vous pouvez afficher les étiquettes associées à ce niveau d'accès, les membres de l'équipe concernés et les journaux associés au niveau d'accès.

  1. Sur la page Teams (Équipes), cliquez sur le niveau d'accès de l'équipe dont vous souhaitez afficher les détails.
  2. Dans l'onglet Team (Équipe), vous pouvez voir les étiquettes de niveau d'accès, le cas échéant, et afficher les membres de l'équipe appartenant au niveau d'accès.
  3. Cliquez sur l'onglet Journaux pour afficher les journaux de niveau d'accès du parc.

Ajouter ou supprimer des clusters dans un niveau d'accès d'équipe

Pour ajouter ou supprimer des clusters dans un niveau d'accès d'équipe existant, procédez comme suit:

  1. Accédez à la page Teams (Équipes) de la console Google Cloud:

    Accéder à la page "Teams" (Équipes)

  2. Sélectionnez le niveau d'accès de l'équipe dans lequel vous souhaitez ajouter ou supprimer des clusters. L'onglet Clusters affiche la liste des clusters actuellement liés au niveau d'accès.

Pour ajouter des clusters à un niveau d'accès d'équipe, procédez comme suit:

  1. En haut de la page, cliquez sur Ajouter des clusters.
  2. Dans la liste déroulante Clusters, sélectionnez les clusters que vous souhaitez ajouter au niveau d'accès, puis cliquez sur OK.
  3. Cliquez sur Update Team Scope (Mettre à jour le niveau d'accès de l'équipe).

Pour supprimer des clusters d'un niveau d'accès d'équipe, procédez comme suit:

  1. Sélectionnez l'onglet Clusters qui affiche la liste des clusters actuellement associés au niveau d'accès.
  2. Cliquez sur l'icône de la corbeille à côté du cluster à supprimer, puis sur Supprimer pour confirmer la suppression.

Supprimer un niveau d'accès

  1. Accédez à la page Teams (Équipes) de la console Google Cloud:

    Accéder à la page "Teams" (Équipes)

  2. Sélectionnez le niveau d'accès d'équipe que vous souhaitez supprimer.

  3. Pour supprimer le niveau d'accès, cliquez sur Supprimer en haut de la page.

  4. Confirmez la suppression en saisissant le nom de votre niveau d'accès, puis cliquez à nouveau sur Supprimer.

Gérer les espaces de noms de parc

gcloud

Utilisez les commandes suivantes pour gérer les espaces de noms dans les niveaux d'accès d'équipe.

Répertorier les espaces de noms de parc

Pour répertorier tous les espaces de noms créés à l'aide de fleet scopes namespaces create dans un niveau d'accès, exécutez la commande suivante:

gcloud container fleet scopes namespaces list --scope=SCOPE_NAME

Supprimer un espace de noms de parc

Pour supprimer un espace de noms de parc, exécutez la commande suivante:

gcloud container fleet scopes namespaces delete NAMESPACE_NAME --scope=SCOPE_NAME

Notez que ce qui se passe lorsque vous supprimez un espace de noms de parc dépend de la manière dont vous avez ajouté l'espace de noms:

  • Si vous avez créé un espace de noms du parc, cette commande supprime l'espace de noms du parc. Elle supprime également tous les espaces de noms Kubernetes créés à la suite de la création de l'espace de noms du parc, ainsi que leurs charges de travail.
  • Si vous avez intégré un espace de noms Kubernetes existant: cette commande supprime l'espace de noms du parc. L'espace de noms d'origine que vous avez intégré n'est pas supprimé.

Console

Pour gérer les espaces de noms de parc dans le niveau d'accès de votre équipe, procédez comme suit:

  1. Accédez à la page Teams (Équipes) de la console Google Cloud:

    Accéder à la page "Teams" (Équipes)

  2. Sélectionnez le niveau d'accès d'équipe dont vous souhaitez gérer les espaces de noms de parc.

Répertorier les espaces de noms de parc

Dans le niveau d'accès de votre équipe, sélectionnez l'onglet Espaces de noms qui affiche la liste des espaces de noms créés dans ce niveau d'accès.

Afficher les détails de l'espace de noms

Pour chaque espace de noms de parc, vous pouvez afficher les étiquettes associées à cet espace de noms, ainsi que les charges de travail et les journaux filtrés par espace de noms.

  1. Sélectionnez l'onglet Espaces de noms qui affiche la liste des espaces de noms du parc créés dans le niveau d'accès de l'équipe.
  2. Cliquez sur l'espace de noms du parc dont vous souhaitez afficher les détails.
  3. L'onglet Détails affiche les étiquettes d'espace de noms et de niveau d'accès du parc.
    • Pour afficher les charges de travail de cet espace de noms, cliquez sur Afficher les charges de travail.
    • Sur la page Charges de travail, vous pouvez afficher les charges de travail déjà filtrées par l'espace de noms et les clusters associés au niveau d'accès de l'équipe pour cet espace de noms.
  4. Dans l'onglet Journaux, vous pouvez afficher les journaux de niveau d'accès du parc par espace de noms.

Ajouter des espaces de noms de parc à un niveau d'accès d'équipe

  1. Pour ajouter un espace de noms de parc, cliquez sur Ajouter des espaces de noms en haut de la page.
  2. Saisissez le nom du nouvel espace de noms du parc, en vous assurant qu'il n'entre pas en conflit avec les restrictions de dénomination des espaces de noms de parc. Pour ajouter d'autres espaces de noms, cliquez sur Ajouter un espace de noms.
  3. Cliquez sur Update Team Scope (Mettre à jour le niveau d'accès de l'équipe).

Supprimer un espace de noms de parc

  1. Sélectionnez l'onglet Espaces de noms qui affiche la liste des espaces de noms du parc créés dans le niveau d'accès de l'équipe.
  2. Cliquez sur l'icône de la corbeille située à côté de l'espace de noms que vous souhaitez supprimer.
  3. Confirmez la suppression en saisissant le nom de votre espace de noms, puis cliquez à nouveau sur Supprimer.

Notez que le déroulement de cette opération dépend de la manière dont vous avez ajouté l'espace de noms:

  • Si vous avez créé un espace de noms du parc: l'espace de noms du parc est supprimé. Tous les espaces de noms Kubernetes créés à la suite de la création de l'espace de noms du parc sont également supprimés, ainsi que leurs charges de travail.
  • Si vous avez intégré un espace de noms Kubernetes existant: l'espace de noms du parc est supprimé. Cependant, l'espace de noms d'origine que vous avez intégré n'est pas supprimé.

Mettre à jour le nom d'un espace de noms de parc

Vous ne pouvez pas modifier un espace de noms de parc une fois qu'il a été créé. Si vous devez mettre à jour le nom d'un espace de noms de parc, supprimez-le et créez-en un autre dans le niveau d'accès de l'équipe.

Gérer l'accès des équipes

gcloud

Pour mettre à jour l'accès du niveau d'accès de l'équipe (par exemple, pour attribuer un rôle différent aux membres de l'équipe ou pour mettre à jour une adresse e-mail de groupe), utilisez la commande update correspondante:

gcloud container fleet scopes rbacrolebindings update BINDING_NAME \
   --scope=SCOPE_NAME \
   --role=ROLE \
   --group=TEAM_EMAIL

ou

gcloud alpha container fleet namespaces rbacrolebindings update BINDING_NAME \
   --scope=SCOPE_NAME \
   --role=ROLE \
   --user=USER_EMAIL

Remplacez les éléments suivants :

  • BINDING_NAME: nom de chaîne pour représenter cette liaison.
  • SCOPE_NAME: identifiant unique du niveau d'accès de l'équipe.
  • (facultatif) ROLE: rôle que vous souhaitez modifier.
  • (facultatif) TEAM_EMAIL ou USER_EMAIL: adresse e-mail que vous souhaitez modifier.

Console

Ajouter des membres à une équipe ou en supprimer

Pour gérer les membres d'une équipe dans un niveau d'accès d'équipe :

  1. Accédez à la page Teams (Équipes) de la console Google Cloud:

    Accéder à la page "Teams" (Équipes)

  2. Sélectionnez le niveau d'accès de l'équipe dont vous souhaitez gérer les membres.

Pour ajouter des membres d'équipe au niveau d'accès:

  1. En haut de la page, cliquez sur Ajouter des membres de l'équipe. Suivez les instructions détaillées dans la section Créer un niveau d'accès d'équipe.
  2. Cliquez sur Update Team Scope (Mettre à jour le niveau d'accès de l'équipe).

Pour supprimer des membres de l'équipe du niveau d'accès, procédez comme suit:

  1. Dans l'onglet Équipe, cliquez sur l'icône de la corbeille à côté du membre d'équipe que vous souhaitez retirer du niveau d'accès de l'équipe.
  2. Cliquez sur Supprimer pour confirmer la suppression.

Vous ne pouvez pas modifier les informations d'un membre de l'équipe dans la console Google Cloud. Pour mettre à jour l'accès au niveau d'accès dans la console Google Cloud (par exemple, pour attribuer un rôle différent aux membres de l'équipe ou pour mettre à jour l'adresse e-mail d'un groupe), supprimez le membre de l'équipe du niveau d'accès, puis ajoutez-le à nouveau avec les nouveaux détails.

Déléguer la gestion des espaces de noms

En règle générale, seuls les administrateurs de plate-forme peuvent créer à la fois des niveaux d'accès d'équipe et des espaces de noms de parc. Toutefois, en tant qu'administrateur de plate-forme, vous pouvez déléguer la création et/ou la gestion des espaces de noms aux administrateurs d'équipe. Cela permet aux administrateurs d'équipe de créer et de gérer des espaces de noms de parc dans leurs niveaux d'accès.

Pour déléguer la gestion des espaces de noms, créez un rôle IAM personnalisé dans votre projet avec les autorisations suivantes:

gkehub.namespaces.get
gkehub.namespaces.create
gkehub.namespaces.update
gkehub.namespaces.delete
gkehub.namespaces.list

Vous pouvez personnaliser le rôle comme vous le souhaitez. Par exemple, si vous ne souhaitez pas autoriser la suppression des espaces de noms du parc, omettez l'autorisation gkehub.namespaces.delete du rôle personnalisé.

Après avoir défini le rôle personnalisé, utilisez la commande suivante pour autoriser explicitement la gestion des espaces de noms pour un niveau d'accès d'équipe particulier:

gcloud container fleet scopes add-iam-policy-binding SCOPE_NAME \
    --member='user:USER_EMAIL' \
    --role='projects/PROJECT_ID/roles/CUSTOM_ROLE_NAME

Seul l'utilisateur identifié par USER_EMAIL pourra gérer les espaces de noms de parc pour ce niveau d'accès d'équipe. Les autres reçoivent un message d'erreur.

Restrictions de dénomination des espaces de noms de parc

Les noms suivants sont réservés et interdits pour l'utilisation lorsque vous créez un espace de noms de parc dans un niveau d'accès d'équipe:

  • default
  • kube-system
  • gke-connect
  • kube-node-lease
  • kube-public
  • istio-system
  • gatekeeper-system
  • asm-system
  • config-management-system

Gérer les étiquettes

Pour vous aider à identifier et à gérer vos niveaux d'accès, vous pouvez utiliser Google Cloud CLI afin de créer et de gérer des étiquettes pour les espaces de noms de votre parc et les niveaux d'accès d'équipe.

Les étiquettes ajoutées à un niveau d'accès d'équipe sont héritées par tous les espaces de noms de parc dans le niveau d'accès, ce qui signifie qu'elles sont associées à tous les espaces de noms Kubernetes dans les clusters du niveau d'accès. Les étiquettes ajoutées directement à un espace de noms de parc ne sont associées qu'aux espaces de noms Kubernetes correspondants. Si une étiquette de niveau d'accès d'équipe et une étiquette d'espace de noms de parc ont la même clé, l'étiquette de niveau d'accès de l'équipe est prioritaire.

Vous pouvez travailler sur plusieurs paires clé/valeur à la fois en ajoutant une liste de paires clé/valeur séparées par des virgules.

Gérer les étiquettes d'espace de noms du parc

Créer un espace de noms de parc avec des étiquettes

Pour créer un espace de noms de parc avec des étiquettes, exécutez la commande suivante:

gcloud container fleet scopes namespaces create NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --namespace-labels KEY=VALUE

Remplacez les éléments suivants :

  • NAMESPACE_NAME: nom unique que vous avez choisi pour l'espace de noms dans le parc.
  • SCOPE_NAME: niveau d'accès de l'équipe pour lequel vous souhaitez utiliser l'espace de noms
  • KEY : clé de la paire clé-valeur du libellé.
  • VALUE : valeur de la paire clé-valeur du libellé.

Ajouter ou mettre à jour des étiquettes pour des espaces de noms de parc existants

Pour ajouter ou mettre à jour des étiquettes pour un espace de noms existant, exécutez la commande suivante:

gcloud container fleet scopes namespaces update NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --update-namespace-labels KEY=VALUE

Supprimer des étiquettes d'espace de noms de parc

Pour supprimer une étiquette d'espace de noms de parc spécifique, exécutez la commande suivante:

gcloud container fleet scopes namespaces update NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --remove-namespace-labels KEY

Remplacez KEY par une liste de clés séparées par des virgules pour les étiquettes que vous souhaitez supprimer.

Pour supprimer toutes les étiquettes d'espace de noms du parc, exécutez la commande suivante:

gcloud container fleet scopes namespaces update NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --clear-namespace-labels

Gérer les étiquettes de niveau d'accès de l'équipe

Créer un niveau d'accès d'équipe avec des étiquettes

Pour créer un niveau d'accès avec une étiquette, exécutez la commande suivante:

gcloud container fleet scopes create SCOPE_NAME \
    --namespace-labels KEY=VALUE

Remplacez les éléments suivants :

  • SCOPE_NAME: nom d'identification unique que vous avez choisi pour le nouveau niveau d'accès de l'équipe.
  • KEY : clé de la paire clé-valeur du libellé.
  • VALUE : valeur de la paire clé-valeur du libellé.

Ajouter ou mettre à jour des étiquettes pour les niveaux d'accès d'équipe existants

Pour ajouter ou mettre à jour des étiquettes pour un niveau d'accès existant, exécutez la commande suivante:

gcloud container fleet scopes update SCOPE_NAME \
    --update-namespace-labels KEY=VALUE

Supprimer des étiquettes de niveau d'accès d'équipe

Pour supprimer des étiquettes spécifiques, exécutez la commande suivante:

gcloud container fleet scopes update SCOPE_NAME \
     --remove-namespace-labels KEY

Remplacez KEY par une liste de clés séparées par des virgules pour les étiquettes que vous souhaitez supprimer.

Pour supprimer toutes les étiquettes, exécutez la commande suivante:

gcloud container fleet scopes update SCOPE_NAME \
    --clear-namespace-labels

Résoudre les problèmes

Si vous ne pouvez pas mettre à jour ou créer des ressources de gestion d'équipe de parc, assurez-vous que l'API GKE Enterprise est activée. Si vous désactivez l'API GKE Enterprise dans votre projet hôte de parc après avoir configuré la gestion d'équipe de parc, voici ce qui se produit:

  • Tous les niveaux d'accès d'équipe et les espaces de noms de parc que vous avez créés continuent de fonctionner comme prévu, mais ne peuvent pas être mis à jour.
  • Les niveaux d'accès d'équipe existants et les espaces de noms de parc peuvent être supprimés.
  • Aucun nouveau niveau d'accès d'équipe ni espace de noms de parc ne peut être créé.

Étape suivante