Ce document explique comment mettre à disposition des clusters Anthos sur VMware (GKE On-Prem) pour gestion dans la console Google Cloud. Cela inclut la gestion de base, par exemple la possibilité de se connecter aux clusters et d'afficher leurs charges de travail, ainsi que l'activation de la gestion du cycle de vie des clusters afin de pouvoir les mettre à niveau, les mettre à jour et les supprimer.
Membres du parc et console
Tous les clusters Anthos sur VMware doivent être membres d'une parc, une manière unifiée d'afficher et de gérer plusieurs clusters ainsi que leurs charges de travail. Chaque parc de clusters est associé à un projet hôte de parc.
Dans Clusters Anthos sur VMware, un cluster d'utilisateur est enregistré dans un parc au moment de la création:
Lorsque vous créez un cluster à l'aide de
gkectl
, vous spécifiez votre projet hôte de parc dans la sectiongkeConnect
du fichier de configuration du cluster. Clusters Anthos sur VMware utilise ces informations pour enregistrer votre cluster dans le projet de parc spécifié.Lorsque vous créez un cluster d'utilisateur dans la console, celui-ci devient automatiquement membre du parc dans le projet sélectionné dans la console.
Les membres de parc en dehors de Google Cloud tels que les Clusters Anthos sur VMware s'affichent dans la console de votre projet hôte de parc, ainsi que les autres clusters de parc tels que GKE sur Google Cloud. La mesure dans laquelle vous pouvez gérer des clusters Anthos sur VMware dans la console dépend des éléments suivants:
Si vous avez configuré l'authentification, vous pouvez vous connecter à vos clusters et afficher leurs charges de travail et d'autres informations.
Si vous avez activé la gestion du cycle de vie des clusters, vous pouvez également mettre à niveau, mettre à jour ou supprimer des clusters d'utilisateur depuis la console. Pour ce faire, le cluster doit être géré par un service appelé API Anthos On-Prem. Pour les clusters d'utilisateur créés dans la console, la gestion du cycle de vie des clusters est activée au moment de leur création. Vous pouvez également activer cette fonctionnalité ultérieurement pour les clusters d'utilisateur créés à l'aide de
gkectl
. Si cette fonctionnalité n'est pas activée, vous ne pouvez gérer le cycle de vie du cluster qu'à l'aide degkectl
sur votre poste de travail administrateur.
Afficher les clusters enregistrés
Tous vos clusters de parcs sont affichés sur les pages Clusters Anthos et Clusters GKE de la console. Vous obtenez ainsi un aperçu de l'intégralité de votre parc et, pour les clusters Anthos sur VMware, vous pouvez voir quels clusters sont gérés par l'API Anthos On-Prem.
Pour afficher les clusters de votre parc:
Dans la console, accédez à la page des clusters Anthos.
Sélectionnez le projet Google Cloud.
Si vm Anthos (VMware) s'affiche dans la colonne Type, le cluster est géré par l'API Anthos On-Prem.
Si External (Externe) s'affiche dans la colonne Type, le cluster n'est pas géré par l'API Anthos On-Prem.
Pour afficher plus de détails sur un cluster, les utilisateurs doivent se connecter et s'authentifier auprès du cluster. Pour ce faire, vous devez :
- Configurer une méthode d'authentification
- Attribuer aux utilisateurs des rôles Identity and Access Management spécifiques
Configurer l'authentification
Comme décrit ci-dessus, tous les clusters de parcs apparaissent dans les listes de clusters GKE et Anthos dans la console. Toutefois, pour afficher plus de détails tels que les nœuds et les charges de travail (et pour effectuer des tâches de gestion du cycle de vie du cluster si la fonctionnalité est activée), les utilisateurs doivent se connecter et s'authentifier auprès du cluster. Pour ce faire, vos clusters enregistrés doivent être configurés avec l'une des méthodes d'authentification suivantes:
Identité Google: cette option permet aux utilisateurs de se connecter avec leur identité Google Cloud, qui est l'adresse e-mail associée à votre compte Google Cloud. Utilisez cette option si les utilisateurs ont déjà accès à Google Cloud avec leur identité Google. Si vous avez créé le cluster dans la console, vous pouvez vous y connecter à l'aide de votre identité Google, mais vous devez configurer l'authentification pour les autres utilisateurs.
La connexion avec l'identité Google est l'approche la plus simple de l'authentification dans la console, en particulier si vous testez des clusters Anthos sur VMware avec une installation minimale. Nous vous avons donc expliqué comment configurer cette fonctionnalité plus en détail ci-dessous dans la section Configurer l'authentification Google Identity.
OpenID Connect (OIDC): cette option permet aux utilisateurs de se connecter aux clusters depuis la console à l'aide de leur identité provenant d'un fournisseur d'identité OIDC tiers tel que Okta ou Microsoft AD FS. Vous pouvez utiliser cette option si vos utilisateurs possèdent déjà des noms d'utilisateur, des mots de passe et des appartenances aux groupes de sécurité de votre fournisseur. Vous pouvez configurer l'authentification OIDC tierce pour vos clusters dans les guides suivants:
Configurer des clusters pour Anthos Identity Service avec OIDC : ce guide vous explique comment configurer l'authentification OIDC par cluster.
Configurer Anthos Identity Service pour un parc : cette option vous permet de configurer OIDC au niveau du parc.
Jeton de support: Si les solutions précédentes fournies par Google ne sont pas adaptées à votre organisation, vous pouvez configurer l'authentification à l'aide d'un compte de service Kubernetes et de son jeton de support pour vous connecter. Pour en savoir plus, consultez Configurer un jeton de support.
Attribuer les rôles requis
L'accès à la console est contrôlé par Google Cloud IAM. Ces rôles IAM sont requis quelle que soit la méthode d'authentification choisie. Pour gérer le cycle de vie du cluster dans la console, vous devez attribuer des rôles IAM.
Pour permettre aux utilisateurs d'accéder à la console, vous devez au minimum attribuer les rôles suivants:
roles/container.viewer
. Ce rôle permet aux utilisateurs d'afficher la page "Clusters GKE" et les autres ressources de conteneur dans la console. Pour en savoir plus sur les autorisations incluses dans ce rôle ou pour accorder un rôle doté d'autorisations de lecture/écriture, consultez la section Rôles Kubernetes Engine dans la documentation IAM.roles/gkehub.viewer
. Ce rôle permet aux utilisateurs d'afficher les clusters en dehors de Google Cloud dans la console. Pour en savoir plus sur les autorisations incluses dans ce rôle ou sur l'attribution d'un rôle avec des autorisations de lecture/écriture, consultez la section Rôles GKE Hub dans la documentation IAM.
Pour permettre aux utilisateurs de gérer le cycle de vie du cluster dans la console, accordez le rôle IAM
roles/gkeonprem.admin
. Le rôleroles/gkeonprem.admin
offre aux utilisateurs un accès administrateur à l'API Anthos On-Prem, que la console utilise pour gérer le cycle de vie du cluster. Pour en savoir plus sur les autorisations incluses dans ce rôle, consultez la section Rôles GKE On-Prem dans la documentation IAM.
Les commandes suivantes indiquent comment attribuer les rôles minimaux nécessaires pour gérer le cycle de vie du cluster dans la console:
gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member=MEMBER \ --role=roles/container.viewer gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member=MEMBER \ --role=roles/gkehub.viewer gcloud projects add-iam-policy-binding FLEET_HOST_PROJECT_ID \ --member=MEMBER \ --role=roles/gkeonprem.admin
où :
FLEET_HOST_PROJECT_ID
est le projet hôte du parc. Pour les clusters créés à l'aide degkectl
, il s'agit du projet que vous avez configuré dans la sectiongkeConnect
du fichier de configuration du cluster d'utilisateur. Pour les clusters créés dans la console, il s'agit du projet que vous avez choisi lors de la création du cluster.MEMBER
est l'adresse e-mail de l'utilisateur au formatuser:emailID
, par exemple:user:alice@example.com
Activer la gestion du cycle de vie des clusters dans la console
Les clusters d'utilisateur créés dans la console sont automatiquement gérés par l'API Anthos On-Prem et vous permettent d'effectuer des tâches de gestion du cycle de vie des clusters dans la console. Si vous souhaitez activer cette fonctionnalité pour les clusters d'utilisateur créés à l'aide de gkectl
, suivez la procédure décrite dans Configurer un cluster d'utilisateur pour qu'il soit géré par l'API Anthos On-Prem.
Lorsque la gestion du cycle de vie des clusters est activée, vous pouvez effectuer les tâches suivantes depuis la console:
- Mettre à niveau les clusters d'utilisateur
- Redimensionner des clusters d'utilisateur
- Créer et gérer des pools de nœuds
- Supprimer des clusters d'utilisateur
Configurer l'authentification des identités Google
Pour permettre aux utilisateurs de se connecter au cluster avec leur identité Google, vous devez configurer les éléments suivants:
Les utilisateurs ont besoin de rôles Identity and Access Management (IAM) spécifiques pour pouvoir afficher les clusters et interagir avec eux dans la console depuis les pages Clusters GKE et Liste des clusters Anthos.
Les utilisateurs doivent être ajoutés aux stratégies de contrôle des accès basées sur les rôles (RBAC) de Kubernetes dont la passerelle Connect a besoin pour accéder au serveur d'API Kubernetes du cluster via l'agent Connect.
Configurer l'autorisation RBAC
Le serveur d'API Kubernetes de chaque cluster doit être en mesure d'autoriser les requêtes provenant de la console. Pour configurer l'autorisation, vous devez configurer des stratégies de contrôle des accès basées sur les rôles (RBAC) Kubernetes sur chaque cluster. Si vous avez créé le cluster dans la console, l'API Anthos On-Prem ajoute votre compte utilisateur en tant qu'administrateur et crée les stratégies RBAC appropriées qui vous donnent un accès administrateur complet au cluster.
Si vous avez créé le cluster dans la console, puis que vous utilisez gcloud
pour configurer les stratégies RBAC, les adresses e-mail des utilisateurs ne sont pas visibles dans la section Détails du cluster de la console.
gcloud CLI
Exécutez les commandes suivantes pour vous connecter à votre compte Google et mettre à jour les composants:
gcloud auth login gcloud components update
Générez et appliquez les stratégies RBAC à votre cluster pour les utilisateurs et les comptes de service:
gcloud container fleet memberships generate-gateway-rbac \ --membership=MEMBERSHIP_NAME \ --role=ROLE \ --users=USERS \ --project=FLEET_HOST_PROJECT_ID \ --kubeconfig=KUBECONFIG_PATH \ --context=KUBECONFIG_CONTEXT \ --apply
Remplacez les éléments suivants :
- MEMBERSHIP_NAME: nom utilisé pour représenter de façon unique le cluster de son parc. Dans Clusters Anthos sur VMware, le nom de l'appartenance et le nom du cluster sont identiques.
- ROLE: rôle Kubernetes que vous souhaitez attribuer aux utilisateurs du cluster. Pour accorder aux utilisateurs un accès complet à chaque ressource du cluster dans tous les espaces de noms, spécifiez
clusterrole/cluster-admin
. Pour restreindre l'accès, créez un rôle personnalisé, par exemplerole/mynamespace/namespace-reader
. Le rôle personnalisé doit déjà exister avant d'exécuter la commande. - USERS : adresses e-mail des utilisateurs (comptes utilisateur ou comptes de service) auxquels vous souhaitez accorder les autorisations, sous la forme d'une liste d'éléments séparés par une virgule. Exemple :
--users=foo@example.com,test-acct@test-project.iam.gserviceaccount.com
. - FLEET_HOST_PROJECT_ID: ID du projet hôte de parc.
- KUBECONFIG_PATH : chemin d'accès à l'emplacement local du fichier kubeconfig contenant une entrée pour le cluster.
KUBECONFIG_CONTEXT : contexte du cluster tel qu'il apparaît dans le fichier kubeconfig. Vous pouvez obtenir le contexte actuel à partir de la ligne de commande en exécutant la commande
kubectl config current-context
. Que vous utilisiez le contexte actuel ou non, assurez-vous qu'il fonctionne pour l'accès au cluster en exécutant une commande simple telle que la suivante :kubectl get namespaces \ --kubeconfig=KUBECONFIG_PATH \ --context=KUBECONFIG_CONTEXT
Après l'exécution de
gcloud container fleet memberships generate-gateway-rbac
, vous devez obtenir un résultat semblable à celui-ci, à la fin de la sortie, qui est tronqué pour une meilleure lisibilité:Validating input arguments. Specified Cluster Role is: clusterrole/cluster-admin Generated RBAC policy is: -------------------------------------------- ... Applying the generate RBAC policy to cluster with kubeconfig: /usr/local/google/home/foo/.kube/config, context: kind-kind Writing RBAC policy for user: foo@example.com to cluster. Successfully applied the RBAC policy to cluster.
Il s'agit du contexte d'accès au cluster via la passerelle de connexion.
Pour en savoir plus sur la commande
generate-gateway-rbac
, consultez le guide de référence de gcloud CLI.
Console
Pour appliquer les stratégies RBAC aux utilisateurs, procédez comme suit dans la console:
Dans la console, accédez à la page des clusters Anthos.
Sélectionnez le projet Google Cloud dans lequel se trouve le cluster d'utilisateur.
Dans la liste des clusters, cliquez sur le nom du cluster puis sur Afficher les détails dans le panneau Détails.
Dans la section Autorisation, cliquez sur le champ Utilisateurs de l'administrateur du cluster et saisissez l'adresse e-mail de chaque utilisateur.
Lorsque vous avez terminé d'ajouter des utilisateurs, cliquez sur OK.
Informations complémentaires
- Présentation de la gestion de parc
- Utiliser des clusters depuis Google Cloud Console
- Présentation de Connect
- Présentation de l'agent Connect