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 de parc permettent aux administrateurs de provisionner et de gérer plus facilement des ressources d'infrastructure comme celle-ci 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 que consulter 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 d'équipes d'applications qui souhaitent en savoir plus sur les fonctionnalités de gestion des équipes de parc. Les fonctionnalités de gestion d'équipes 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'équipe de parc repose sur deux concepts clés qui offrent aux administrateurs une abstraction "au niveau de l'équipe" à utiliser lorsqu'ils gèrent 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 définis sur les clusters du parc sont traités comme s'il s'agissait du même espace de noms. Toutefois, la gestion d'équipe de parcs 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 un 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 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 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, imaginons que vous soyez administrateur de plate-forme pour l'entreprise Cymbal Group et que vous configuriez des ressources pour deux équipes dans un même parc.
- L'équipe Backend se compose d'un seul 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, à l'aide de son espace de nomsbackend
. Vous créez un champ d'application d'équipe incluant les deux clusters, puis vous définissez un espace de noms de parcbackend
dans ce champ d'application. - L'équipe frontend est composée de deux groupes Google,
frontend-admin@cymbalgroup.com
etfrontend-dev@cymbalgroup.com
. Vous décidez que l'équipe de frontend peut exécuter des charges de travail sur les clusters 2 et 3, à l'aide des espaces de nomsfrontend-foo
etfrontend-bar
. Vous créez à nouveau un champ d'application d'équipe avec les deux clusters, puis définissez deux espaces de noms de parc dans ce champ d'application.
Comme vous pouvez le voir dans le diagramme, une fois les équipes configurées, les deux peuvent utiliser le cluster 2, chacune avec 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 spécifiez que les responsables d'équipe (l'utilisateur individuel Dana dans le cas de l'équipe de backend, les membres du groupe frontend-admin
dans le cas de l'équipe de frontend) ont 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 ont un accès editor
.
Vous pouvez configurer manuellement toute cette configuration avec kubectl
ou d'autres outils. Toutefois, les fonctionnalités de gestion des équipes vous permettent de configurer rapidement les équipes et d'utiliser des fonctionnalités supplémentaires en fonction de leur portée, comme les métriques de portée d'équipe.
Dans la pratique, vous auriez probablement également des parcs distincts pour vos environnements de production, de développement et de test. Vous devez créer des champs d'application d'équipe pour les équipes frontend et backend de 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 disponibles 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 vous recommandons d'autoriser les membres de votre équipe à accéder aux clusters de leur portée d'équipe avec kubectl
à l'aide des identifiants de cluster spéciaux de la passerelle Connect. La passerelle Connect est un service cohérent et sécurisé qui permet aux utilisateurs de se connecter avec leur ID Google à n'importe quel cluster du parc, y compris à l'aide de 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 permet de s'authentifier de manière simple et cohérente auprès des clusters membres du parc, même entre les projets. La gestion des équipes Fleet 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'un espace de noms Kubernetes portant ce nom existe déjà 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 de parc et fera donc 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, configurer et gérer les champs d'application 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).