舰队团队管理

平台管理员的一个常见任务是确保应用和服务团队拥有运行工作负载所需的基础架构资源。组织中的团队可能需要使用特定集群,或者可能需要在舰队中的每个集群上运行工作负载,并且组织需要为每个团队设置适当的访问权限控制。借助舰队团队管理功能,管理员可以更轻松地为团队预配和管理此类基础架构资源,其中每个团队相当于舰队的一个“租户”。 团队可以运行和管理其工作负载,以及查看日志、资源利用率、错误率和其他指标,其范围均限定为团队自己的集群和命名空间。

本页面适用于希望了解舰队团队管理功能的平台管理员和应用团队成员。只有启用了整个 GKE Enterprise 平台的用户才能使用舰队团队管理功能。

舰队团队管理概览

舰队团队管理基于两个关键概念,这两个概念为管理员提供在管理舰队时使用的“团队级”抽象:

  • 团队范围使您可以按团队定义舰队资源的子集,并且每个范围都与一个或多个舰队成员集群相关联。团队范围可以包括 Google Cloud 内或 Google Cloud 外的集群,但所有集群都必须属于同一舰队。一个集群可以与多个范围关联,使不同团队能够在同一集群上运行工作负载。
  • 舰队命名空间提供了一种方法来控制谁有权访问舰队中的特定命名空间。默认情况下,舰队中集群上定义的同名命名空间被视为同一命名空间。不过,舰队团队管理提供了一种对命名空间进行更精细控制的方法。您可以在特定团队范围内创建舰队命名空间,然后仅授予团队成员在团队范围内的集群上访问这些命名空间的权限。舰队命名空间的使用方式与团队范围内成员集群上的任何其他 Kubernetes 命名空间相同。平台管理员可以自行创建舰队命名空间,也可以通过一些额外的权限将命名空间创建工作委托给团队管理员。

团队管理示例

例如,假设您是 Cymbal Group 公司的平台管理员,负责为一个舰队中的两个团队设置资源。

  • 后端团队包括一个 Google 群组 backend-team@cymbalgroup.com。您决定此团队可以使用其命名空间 backend 在集群 1 和集群 2 上运行工作负载。您创建一个包含这两个集群的团队范围,并在该范围内定义一个 backend 舰队命名空间。
  • 前端团队包括两个 Google 群组 frontend-admin@cymbalgroup.comfrontend-dev@cymbalgroup.com。您决定前端团队可以使用命名空间 frontend-foofrontend-bar 在集群 2 和集群 3 上运行工作负载。同样,您创建一个包含这两个集群的团队范围,并在该范围内定义两个舰队命名空间。

显示使用舰队的两个团队的示意图

如图所示,设置团队后,两个团队都可以在集群 2 上使用自己的命名空间。此外,后端团队可以在集群 1 上使用其命名空间,前端团队可以在集群 3 上使用其命名空间。两个团队都可以在集群上运行其工作负载并查看自己的资源,而无需考虑另一个团队。

在每个团队中,您都指定团队负责人(在后端团队中为用户 Dana,在前端团队中为 frontend-admin 组成员)拥有团队范围的 admin 权限,这意味着他们可以在范围内创建角色和角色绑定,而其余团队成员拥有 editor 权限。

虽然您也可以使用 kubectl 或其他工具手动设置所有配置,但团队管理功能使您可以更轻松地快速完成团队配置,并让管理员和团队成员在团队范围内使用额外的功能,例如团队范围指标。

在实际应用中,您的生产、开发和测试环境也可能会有单独的舰队。您会在其中每个舰队中为前端和后端团队创建团队范围,为这些团队提供自己的生产、开发和测试集群。如需了解详情,请参阅舰队最佳实践示例

支持团队的功能

设置团队范围后,应用运维人员和管理员可以查看团队范围的信息(例如各命名空间的资源利用率、日志、错误以及范围内的其他指标),从而能够更轻松地评估资源使用情况、排查问题等。如需了解详情,请参阅使用团队概览。 团队范围也可用于按照发布顺序进行升级

访问团队范围

我们建议团队成员使用 Connect 网关的特殊集群凭据通过 kubectl 访问其团队范围集群。Connect 网关是一种一致且安全的服务,可让用户使用其 Google ID 登录舰队中的任何集群,包括使用 Google 群组进行授权。 虽然向 Google Cloud 上的 GKE 集群进行身份验证并不严格要求这么做,但使用网关凭据提供了一种简单且一致的方式来向舰队成员集群进行身份验证,甚至可以跨项目。舰队团队管理目前不支持第三方身份提供方。

现有资源

舰队团队管理功能还可用于“载入”组织团队使用的现有命名空间和集群,使管理员和团队可以开始在现有工作负载中使用基于团队的功能。如果您创建了一个舰队命名空间,同时在与其团队范围关联的集群上已经有一个同名的 Kubernetes 命名空间,则该命名空间将被视为舰队命名空间的实例化,从而成为团队范围的一部分。

后续步骤

  • 如果您是平台管理员,请按照设置团队中的说明设置、配置和管理团队范围和命名空间。
  • 参阅使用团队概览(仅限有限预览),了解如何查看团队级指标和其他特定于团队的信息。