Gestion d'équipes de parc

Une tâche courante incombant aux administrateurs de plates-formes consiste à s'assurer que les équipes chargées des applications et des services disposent des ressources d'infrastructure dont elles ont besoin pour exécuter leurs charges de travail. En fonction de votre organisation, les équipes peuvent avoir besoin d'utiliser des clusters spécifiques ou d'exécuter des charges de travail sur chaque cluster d'un parc, avec un contrôle d'accès approprié configuré pour chaque équipe. Les fonctionnalités de gestion d'équipes de parc permettent aux administrateurs de provisionner et de gérer plus facilement les ressources d'infrastructure comme celles-ci pour les équipes, chaque équipe agissant en tant que "locataire" distinct dans votre parc. Les équipes peuvent exécuter et gérer leurs charges de travail, ainsi que consulter les journaux, l'utilisation des ressources, les taux d'erreur et d'autres métriques, tous limités à leur propre ensemble de clusters et d'espaces de noms.

Cette page s'adresse aux administrateurs de plate-forme et aux membres de l'équipe de développement qui souhaitent en savoir plus sur les fonctionnalités de gestion des équipes de parc. Les fonctionnalités de gestion d'équipe de parc ne sont disponibles que pour les utilisateurs qui ont activé l'intégralité de la plate-forme GKE Enterprise.

Présentation de la gestion des équipes de parc

La gestion d'équipes de parc repose sur deux concepts clés qui fournissent aux administrateurs une abstraction "au niveau de l'équipe" à utiliser lors de la gestion des parcs:

  • Les niveaux d'accès d'équipe vous permettent de définir des sous-ensembles de ressources de parc par équipe, chaque niveau d'accès étant associé à un ou plusieurs clusters membres du parc. Les niveaux d'accès d'équipe peuvent inclure des clusters sur Google Cloud ou en dehors de Google Cloud, bien que tous les clusters doivent être membres du même parc. Un cluster peut être associé à plusieurs niveaux d'accès d'équipe, ce qui permet à différentes équipes d'exécuter des charges de travail sur le même cluster.
  • Les espaces de noms de parc permettent de contrôler qui a accès à des espaces de noms spécifiques dans votre parc. Par défaut, tous les espaces de noms portant le même nom définis sur les clusters du parc sont traités comme s'il s'agissait du même espace de noms. Toutefois, la gestion des équipes de parc permet d'ajouter un contrôle plus précis sur les espaces de noms. Vous pouvez créer des espaces de noms de parc dans des niveaux d'accès d'équipe spécifiques, puis accorder aux membres de l'équipe l'accès à ces espaces de noms uniquement sur les clusters inclus dans leur niveau d'accès d'équipe. Les espaces de noms de parc peuvent être utilisés de la même manière que tout autre espace de noms Kubernetes sur les clusters membres dans le niveau d'accès de l'équipe. Les administrateurs de plate-forme peuvent créer eux-mêmes des espaces de noms de parc ou, avec certaines autorisations supplémentaires, déléguer la création d'espaces de noms aux administrateurs d'équipe.

Exemple de gestion d'équipe

Par exemple, supposons que vous soyez administrateur de plate-forme pour l'entreprise Cymbal Group, qui configure les ressources de deux équipes sur un même parc.

  • L'équipe backend est constituée d'un groupe Google, backend-team@cymbalgroup.com. Vous décidez que cette équipe peut exécuter des charges de travail sur les clusters 1 et 2, en utilisant leur espace de noms backend. Vous créez un niveau d'accès d'équipe incluant les deux clusters et définissez un espace de noms de parc backend dans ce champ d'application.
  • L'équipe frontend est composée de deux groupes Google : frontend-admin@cymbalgroup.com et frontend-dev@cymbalgroup.com. Vous décidez que l'équipe d'interface peut exécuter des charges de travail sur les clusters 2 et 3, à l'aide des espaces de noms frontend-foo et frontend-bar. Là encore, vous créez un niveau d'accès d'équipe avec les deux clusters et définissez deux espaces de noms de parc dans ce champ d'application.

Schéma illustrant un exemple de deux équipes utilisant un parc

Comme vous pouvez le voir dans le diagramme, une fois que vous avez configuré les équipes, les deux équipes peuvent utiliser le cluster 2, chacune d'elles utilisant ses propres espaces de noms. De plus, l'équipe backend peut utiliser son espace de noms sur le cluster 1, et l'équipe frontend peut utiliser ses espaces de noms sur le cluster 3. Les deux équipes peuvent exécuter leurs charges de travail sur les clusters et afficher leurs propres ressources sans avoir à tenir compte de l'autre équipe.

Dans chaque cas, vous indiquez que les chefs d'équipe (l'utilisateur Dana dans le cas de l'équipe backend, les membres du groupe frontend-admin dans le cas de l'équipe frontend) disposent d'un accès admin au niveau d'accès de l'équipe, ce qui signifie qu'ils peuvent créer des rôles et des liaisons de rôles dans le champ d'application, tandis que les autres membres de l'équipe disposent d'un accès editor.

Bien que vous puissiez configurer toute cette configuration manuellement avec kubectl ou d'autres outils, les fonctionnalités de gestion d'équipe facilitent l'intégration des équipes, et permettent aux administrateurs et aux membres d'utiliser des fonctionnalités supplémentaires basées sur le niveau d'accès de l'équipe, par exemple au niveau de l'équipe métriques.

En situation réelle, vous disposerez probablement de parcs distincts pour vos environnements de production, de développement et de test. Vous devez créer des niveaux d'accès d'équipe pour les équipes frontend et backend dans chacun de ces parcs, afin de leur attribuer leurs propres clusters de production, de développement et de test. Pour en savoir plus à ce sujet, consultez les bonnes pratiques concernant les parcs et des exemples.

Fonctionnalités pour les équipes

Une fois les niveaux d'accès d'équipe configurés, les opérateurs et les administrateurs d'application peuvent consulter des informations à l'échelle de l'équipe telles que l'utilisation des ressources, les journaux, les erreurs par espace de noms et d'autres métriques issues de leur champ d'application. Ils peuvent ainsi évaluer plus facilement la façon dont ils utilisent leur total des ressources, résoudre des problèmes, etc. Pour en savoir plus à ce sujet, consultez la section Utiliser la présentation de l'équipe. Les niveaux d'accès d'équipe peuvent également être utilisés pour séquencer les déploiements de mise à niveau.

Accéder aux champs d'application d'équipe

Nous recommandons aux membres de l'équipe d'accéder aux clusters de niveau d'accès de l'équipe avec kubectl en utilisant les identifiants de cluster spéciaux pour la passerelle Connect. La passerelle Connect est un service cohérent et sécurisé qui permet aux utilisateurs de se connecter avec leurs ID Google à n'importe quel cluster du parc, y compris en utilisant Google Groupes pour l'autorisation. Bien que cela ne soit pas strictement obligatoire pour l'authentification auprès des clusters GKE sur Google Cloud, l'utilisation des identifiants de passerelle offre un moyen simple et cohérent de s'authentifier auprès des clusters membres d'un parc, même entre projets. La gestion d'équipes de parc n'est actuellement pas compatible avec les fournisseurs d'identité tiers.

Ressources existantes

La gestion d'équipes de parc peut également être utilisée pour "intégrer" des espaces de noms et des clusters existants utilisés par les équipes de votre organisation, ce qui permet aux administrateurs et aux équipes de commencer à utiliser des fonctionnalités basées sur les équipes avec des charges de travail existantes. Si vous créez un espace de noms de parc et qu'il existe déjà un espace de noms Kubernetes portant ce nom sur l'un des clusters associés à son niveau d'accès d'équipe, cet espace de noms sera considéré comme une instanciation de l'espace de noms du parc et, par conséquent, fait partie du niveau d'accès de l'équipe.

Étape suivante

  • Si vous êtes administrateur de plate-forme, suivez les instructions de la page Configurer des équipes pour configurer et gérer les niveaux d'accès et les espaces de noms des équipes.
  • Découvrez comment afficher les métriques au niveau de l'équipe et d'autres informations spécifiques à une équipe dans la section Utiliser la présentation de l'équipe (aperçu limité uniquement).