Gestion des é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. Selon votre organisation, les équipes peuvent avoir besoin d'utiliser des clusters spécifiques ou d'exécuter des charges de travail sur tous les clusters d'un parc, avec un contrôle des accès approprié configuré pour chaque équipe. Les fonctionnalités de gestion des équipes du parc permettent aux administrateurs de provisionner et de gérer plus facilement les ressources d'infrastructure de ce type pour les équipes, chaque équipe agissant en tant que "locataire" distinct sur votre parc. Les équipes peuvent exécuter et gérer leurs charges de travail, ainsi qu'afficher les journaux, l'utilisation des ressources, les taux d'erreur et d'autres métriques, le tout limité à 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 d'application qui souhaitent en savoir plus sur les fonctionnalités de gestion des équipes de parc.

Présentation de la gestion des équipes de parc

La gestion des équipes de parc repose sur deux concepts clés qui offrent 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 Google Cloud, mais 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 et définis sur les clusters du parc sont traités comme s'ils étaient identiques. Toutefois, la gestion des équipes de parc permet de contrôler plus précisément 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 uniquement sur les clusters de leur niveau d'accès d'équipe. Les espaces de noms de parc peuvent être utilisés de la même manière que n'importe quel autre espace de noms Kubernetes sur les clusters membres du champ d'application de l'équipe. Les administrateurs de plate-forme peuvent créer eux-mêmes des espaces de noms de parc ou, avec des 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 êtes un administrateur de plate-forme pour l'entreprise Cymbal Group et que vous configurez des ressources pour deux équipes sur un même parc.

  • L'équipe Backend se compose d'un groupe Google, [email protected]. Vous décidez que cette équipe peut exécuter des charges de travail sur les clusters 1 et 2, en utilisant son espace de noms backend. Vous créez un champ d'application d'équipe incluant les deux clusters, et vous définissez un espace de noms de parc backend dans ce champ d'application.
  • L'équipe Frontend est composée de deux groupes Google, [email protected] et [email protected]. Vous décidez que l'équipe frontend peut exécuter des charges de travail sur les clusters 2 et 3, en utilisant les 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 niveau d'accès.

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

Comme vous pouvez le voir dans le diagramme, une fois les équipes configurées, les deux équipes peuvent utiliser le cluster 2, chacune avec son propre espace 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 à se soucier de l'autre équipe.

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

Bien que vous puissiez configurer manuellement tous ces éléments avec kubectl ou d'autres outils, les fonctionnalités de gestion des équipes permettent d'intégrer plus facilement et rapidement les équipes. Elles permettent également aux administrateurs et aux membres d'équipe d'utiliser des fonctionnalités supplémentaires en fonction des périmètres d'équipe, comme les métriques au niveau de l'équipe.

Dans la pratique, vous auriez probablement des flottes distinctes pour vos environnements de production, de développement et de test. Vous créeriez des niveaux d'accès d'équipe pour les équipes frontend et backend dans chacun de ces parcs, en leur fournissant leurs propres clusters de production, de développement et de test. Pour en savoir plus, consultez nos bonnes pratiques et nos exemples concernant les parcs.

Fonctionnalités activées 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, consultez Utiliser la vue d'ensemble 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 niveaux d'accès d'équipe

Nous recommandons aux membres de l'équipe d'accéder à leurs clusters de portée d'équipe avec kubectl à l'aide des 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 à n'importe quel cluster du parc avec leur ID Google, y compris en utilisant Google Groupes pour l'autorisation. Bien que cela ne soit pas strictement nécessaire pour s'authentifier auprès des clusters GKE sur Google Cloud, l'utilisation des identifiants de la passerelle offre un moyen simple et cohérent de s'authentifier auprès des clusters membres du parc, même dans plusieurs projets. La gestion des équipes de parc automobile 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 un espace de noms Kubernetes portant ce nom sur l'un des clusters associés à son niveau d'accès de l'équipe, cet espace de noms sera considéré comme une instanciation de l'espace de noms du parc et, par conséquent, comme faisant partie du niveau d'accès de l'équipe.

Étape suivante

  • Si vous êtes administrateur de plate-forme, suivez les instructions de la section Configurer des équipes pour configurer et gérer les niveaux d'accès et les espaces de noms d'équipe.
  • 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).