Se connecter à des clusters enregistrés avec la passerelle Connect

Les parcs (anciennement appelés Environ) dans Google Cloud sont des groupes logiques de clusters Kubernetes et d'autres ressources qui peuvent être gérés ensemble en créant des clusters sur Google Cloud à l'aide de Connect. La passerelle Connect exploite les performances des parcs pour permettre aux utilisateurs d'Anthos de se connecter et d'exécuter des commandes sur des clusters Anthos de manière simple, cohérente et sécurisée, qu'ils se trouvent sur Google Cloud, sur d'autres clouds publics, ou sur site, et facilite l'automatisation des processus DevOps dans l'ensemble de vos clusters.

Ce guide suppose que vous maîtrisez certains concepts de base des parcs et que vous enregistrez des clusters dans Google Cloud. Si ce n'est pas le cas, consultez le guide sur les parcs et la section Enregistrer un cluster. Vous devez également connaître les outils et concepts Kubernetes, y compris kubectl, client-go (si vous souhaitez utiliser la passerelle à des fins d'automatisation), le contrôle des accès basé sur les rôles (RBAC) et les ressources Kubernetes principales.

Pour des informations plus générales sur l'utilisation de plusieurs clusters dans Anthos et Google Cloud, consultez la section Gestion multicluster.

La passerelle Connect utilise votre ID Google pour s'authentifier auprès des clusters. Pour savoir comment utiliser les ID de votre fournisseur d'identité OIDC existant à la place, consultez la page Présentation d'Anthos Identity Service.

Pourquoi utiliser la passerelle Connect ?

La gestion des charges de travail lorsque vos clusters s'exécutent dans plusieurs clouds et environnements hybrides présente de nombreux défis. Les clusters peuvent s'exécuter dans différents clouds privés virtuels (VPC) et exploiter différents fournisseurs d'identité, ce qui rend la connectivité, l'authentification et l'autorisation plus complexes. Parfois, il peut être difficile de déterminer quels clusters existent dans ces environnements.

La passerelle Connect permet de facilement :

  • Découvrir quels clusters existent (sur Google Cloud, sur un autre cloud public ou sur site) et sont enregistrés dans votre parc à l'aide d'une simple requête.
  • Vous connecter au cluster souhaité à l'aide de la même infrastructure que celle que nous utilisons pour afficher les clusters Anthos enregistrés dans Cloud Console.
  • Vous authentifier avec les identités que vous utilisez avec les services Google Cloud.
  • Autoriser systématiquement l'ensemble de vos clusters enregistrés dans un parc.

La passerelle authentifie votre identité Google Cloud et fournit la connexion au serveur d'API du cluster via le service Connect.

Vous pouvez interagir directement avec les clusters via la passerelle à l'aide des outils de ligne de commande qui acceptent un fichier kubeconfig tel que kubectl. Vous pouvez également exploiter la passerelle avec vos pipelines de compilation et d'autres automatisations DevOps. Vous trouverez un exemple de procédure dans notre tutoriel Intégration avec Cloud Build.

Vous pouvez également utiliser le service Connect pour vous connecter à des clusters enregistrés en dehors de Google Cloud avec votre identité Google Cloud dans Cloud Console. Pour ce faire, suivez les instructions de la section Se connecter à un cluster depuis Cloud Console.

Fonctionnement

Voici le flux qu'un utilisateur ou service type (par exemple, un pipeline CI/CD) exécute pour utiliser la passerelle Connect, une fois l'authentification et l'autorisation appropriées configurées. Pour obtenir des instructions plus détaillées, consultez notre guide d'utilisation.

  1. L'utilisateur ou le service découvre les clusters en répertoriant les ressources appartenant au parc avec l'outil de ligne de commande gcloud.

    gcloud container hub memberships list
    
  2. L'utilisateur ou le service récupère le fichier kubeconfig spécifique à la passerelle Connect nécessaire pour atteindre le cluster sélectionné à l'aide de l'outil de ligne de commande gcloud.

    gcloud container hub memberships get-credentials membership-name
    

    Si vous savez déjà comment utiliser l'outil gcloud avec GKE, cela fonctionne de la même manière que pour utiliser gcloud container clusters get-credentials à l'aide de votre compte Google Cloud, vous permettant d'accéder (si vous y êtes autorisé) à tout cluster enregistré et connecté dans votre parc de projets.

  3. L'utilisateur ou le service exécute les commandes comme il le ferait normalement avec kubectl ou client-go, à l'aide du fichier kubeconfig téléchargé.

    1. L'utilisateur/le service est authentifié par la passerelle Connect, et l'autorisation est vérifiée pour s'assurer qu'il est autorisé à utiliser la passerelle.
    2. La requête est transmise via le service Connect et l'agent Connect au serveur d'API Kubernetes correspondant.
    3. Le serveur d'API Kubernetes autorise la requête, ce qui nécessite que l'agent Connect soit autorisé à emprunter l'identité de l'utilisateur ou du service, et que l'utilisateur ou le service soit autorisé à exécuter la requête souhaitée.

Assistance Google Group

Dans le flux standard décrit dans la section précédente, la requête de l'utilisateur ou du service est autorisée en fonction de son ID individuel. Toutefois, dans de nombreux cas, il est utile de pouvoir autoriser des utilisateurs en fonction de leur appartenance à des groupes de sécurité. 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. Ainsi, vous pouvez facilement partager l'accès au cluster à une équipe, sans avoir à ajouter/supprimer manuellement des utilisateurs des clusters lorsqu'ils rejoignent ou quittent l'équipe. Avec une configuration supplémentaire à l'aide d'Anthos Identity Service, vous pouvez configurer la passerelle Connect de manière à obtenir des informations sur l'appartenance à un groupe Google concernant l'utilisateur ou le service.

Pour en savoir plus sur le fonctionnement de cette fonctionnalité et sur sa configuration, consultez la section Configurer la passerelle Connect avec Google Groupes.

Latence

La latence totale d'une requête via la passerelle peut être divisée en deux parties : le délai aller-retour (DAR) du service de passerelle Connect à l'agent Connect, et la durée d'exécution de la requête au sein du cluster. La latence supplémentaire générée par le DAR est de p95<500ms et de p99<1s. Notez que la plupart des commandes kubectl effectuent une série de plusieurs requêtes, chacune nécessitant un aller-retour, avant d'afficher une réponse à l'utilisateur.

Étape suivante