为舰队设置团队

本页面适用于希望为团队设置和管理舰队使用的平台管理员。只有启用了 GKE Enterprise 的用户才能使用舰队团队管理功能。

本页面假定您已阅读我们的舰队团队管理概览。

团队设置概览

您可以使用 Google Cloud CLI、Google Cloud 控制台或 Terraform 设置团队。

设置团队的大致流程如下:

  1. 选择或创建要在其中设置团队访问权限的舰队,并确保您拥有正确的权限和 API 来完成设置。
  2. (可选但建议执行的操作)为舰队集群上的 Google 群组设置访问权限控制。
  3. 确定团队包含哪些用户,并确保他们有权访问舰队。团队可以包括 Google 群组(推荐)和/或个人账号。
  4. 为团队创建范围。
  5. 将一个或多个(或所有)舰队成员集群添加到团队范围内。
  6. 定义舰队级命名空间并将其与团队范围关联。
  7. 使用 RBACRoleBinding 资源向团队成员授予对新范围的访问权限。
  8. (可选)使用 Config Sync 将 Kubernetes 资源同步到团队范围和命名空间。

然后,团队可以获取凭据以使用 Connect Gateway 访问其范围集群。

设置 Google Cloud CLI

即使您使用 Google Cloud 控制台创建团队范围,也可能需要在设置舰队时设置 gcloud CLI 以完善一些前提条件,例如启用所需的 API。

  1. 确保您拥有最新版本的 Google Cloud CLI,包括 Google Cloud CLI Alpha 版组件。您至少需要有版本 419.0.0 才能使用舰队团队管理命令。

  2. 运行以下命令以登录 Google Cloud:

    gcloud auth login
    
  3. 初始化 gcloud CLI 以用于您选择的舰队的宿主项目,或运行以下命令将舰队宿主项目设置为默认项目:

    gcloud config set project PROJECT_ID
    

    如有需要,您可以在以下任何命令中使用 --project 标志,以指定其他舰队宿主项目。

设置舰队

选择或创建要在其中设置新团队的舰队。如需查看可帮助您构建舰队的准则和示例,请参阅舰队示例规划舰队中的其他指南。

如果要在尚无舰队的项目中创建新的命名舰队,请运行以下命令(您需要先设置 Google Cloud CLI):

  gcloud container fleet create \
    --display-name=NAME \
    --project=FLEET_HOST_PROJECT_ID

如果您未指定 display-name,系统会根据舰队宿主项目名称使用默认显示名称创建新舰队。

所需 IAM 角色

如果您在舰队宿主项目中没有 roles/owner,则需要 roles/gkehub.admin 来创建和配置团队范围和命名空间。项目所有者可以使用以下命令授予此角色:

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member user:USER_EMAIL_ADDRESS \
    --role='roles/gkehub.admin'

启用 API

确保您的舰队宿主项目已启用所有必需的 API,包括 GKE Enterprise API:

gcloud services enable --project=PROJECT_ID \
   gkehub.googleapis.com \
   container.googleapis.com \
   connectgateway.googleapis.com \
   cloudresourcemanager.googleapis.com \
   iam.googleapis.com \
   anthos.googleapis.com

如果您在配置舰队团队管理后停用 GKE Enterprise API,则该功能的某些方面将继续有效,但您无法更新或创建团队范围或舰队命名空间。

配置集群以使用 Google 群组控制访问权限

虽然您可以使用 RBAC 按用户配置团队对舰队成员集群的访问权限,而无需进行任何额外的集群配置,但我们建议根据团队 Google 群组的成员身份来向团队成员授予集群的访问权限。基于群组成员资格进行授权意味着您无需为每个账号设置单独的授权,这样可以使政策更易于管理且更易于审核,并且无需在单个用户加入或离开团队时在集群中手动添加/移除用户。使用以下指南,确保要分配给团队范围的集群可以使用 Google 群组和 Connect 网关来控制访问权限:

向团队成员授予对舰队的访问权限

接下来,确定或了解团队包含哪些用户,并确保他们有权访问舰队。如上一部分所述,我们建议您根据 Google 群组成员资格向团队成员授予对其资源的访问权限,但团队管理功能也允许您向单个用户授予访问权限。确保相关的 Google 群组或个人已配置适当的 Identity and Access Management (IAM) 角色,以便使用舰队集群:

gcloud projects add-iam-policy-binding PROJECT_ID \
   --member=group:TEAM_EMAIL \
   --role=roles/gkehub.viewer

gcloud projects add-iam-policy-binding PROJECT_ID \
   --member=group:TEAM_EMAIL \
   --role=roles/gkehub.gatewayEditor
  • PROJECT_ID 是舰队宿主项目的 ID
  • TEAM_EMAIL 是团队的 Google 群组的电子邮件地址。

这些命令授权团队成员在 Google Cloud 控制台中查看所有舰队集群,并可使用 Connect 网关(仅限 Google 群组)通过基于 Google 群组的授权登录舰队成员集群。

设置新团队

以下说明介绍了如何为团队创建新的团队范围。

gcloud

创建团队范围

如需在舰队中创建新的团队范围,请运行以下命令,其中 SCOPE_NAME 是您为新范围选择的唯一标识名称:

gcloud container fleet scopes create SCOPE_NAME

将集群添加到团队范围

您只能将现有舰队成员添加到团队范围。以下说明假定您要添加到范围的集群已经是舰队成员。如果您需要将集群添加到舰队,请按照创建舰队中您的集群类型说明来注册集群。确保将新注册的集群配置为使用 Google 群组控制访问权限(如上所述)。

您可以将舰队成员集群添加到其舰队宿主项目中任意数量的团队范围。

如需将集群添加到团队范围,请运行以下命令:

gcloud container fleet memberships bindings create BINDING_NAME \
  --membership MEMBERSHIP_NAME \
  --scope  SCOPE_NAME \
  --location MEMBERSHIP_LOCATION

替换以下内容:

  • BINDING_NAME:表示集群和团队范围之间的关系的名称。我们建议使用 MEMBERSHIP_NAME-SCOPE_NAME
  • MEMBERSHIP_NAME:集群在舰队中的唯一标识符(通常是集群名称)。
  • (可选)MEMBERSHIP_LOCATION:集群的成员资格位置。如果您省略此值,则系统会使用集群注册的默认值 global

创建舰队命名空间

若要在团队范围内创建命名空间,请运行以下命令:

gcloud container fleet scopes namespaces create NAMESPACE_NAME --scope=SCOPE_NAME

替换以下内容:

  • NAMESPACE_NAME:您为舰队内的命名空间选择的唯一名称。确保 NAMESPACE_NAME 不与舰队命名空间命名限制冲突。
  • SCOPE_NAME:要在其中使用命名空间的团队范围。

此命令会在团队范围内的每个集群中创建一个名为 NAMESPACE_NAME 的 Kubernetes 命名空间。向团队成员授予对范围的访问权限后,团队成员可以像使用任何其他 Kubernetes 命名空间一样使用 NAMESPACE_NAME。如果团队范围中已有名为 NAMESPACE_NAME 的 Kubernetes 命名空间,它将被视为新舰队命名空间的一部分。这有时称为引进命名空间

使用 RBAC 授予团队范围访问权限

团队成员可以使用 RBAC 获得对其范围的访问权限。使用以下命令向 Google 群组授予对团队范围的访问权限:

gcloud container fleet scopes rbacrolebindings create BINDING_NAME \
   --scope=SCOPE_NAME \
   --role=ROLE \
   --group=TEAM_EMAIL

替换以下内容:

  • BINDING_NAME:表示此绑定的字符串名称。
  • SCOPE_NAME:团队范围的唯一标识符。
  • ROLE:您要向团队成员授予的 RBAC 角色,可以是 admineditview
  • TEAM_EMAIL:团队的 Google 群组的电子邮件地址。

如果您需要向个别用户授予命名空间访问权限,请改为运行以下命令,其中 USER_EMAIL 是用户的 Google ID 电子邮件地址:

gcloud container fleet scopes rbacrolebindings create BINDING_NAME \
   --scope=SCOPE_NAME \
   --role=ROLE \
   --user=USER_EMAIL

控制台

创建团队范围

  1. 选择舰队宿主项目后,转到 Google Cloud 控制台中的团队部分。

    转到“团队”

  2. 点击页面顶部的创建团队范围

  3. 团队基本信息页面的名称部分,输入您的团队范围的唯一名称。团队范围创建后,您将无法更改此名称。

  4. 要向范围添加团队成员,请点击添加团队成员

    • 类型部分,选择用户以添加单个团队成员,或选择群组以添加 Google 群组(推荐)。
    • 用户或群组部分,输入团队成员或群组的电子邮件地址。
    • 角色部分,选择 AdminEditorViewer 以指定团队成员或群组对该范围的访问权限级别。
    • 要添加更多团队成员,请重复上述三个步骤。
  5. 如需在此阶段创建团队范围但不添加集群和命名空间,请点击创建团队范围。否则,请继续下一部分,将集群添加到范围。

将集群添加到团队范围

如需将集群与团队范围相关联,则该集群必须是现有的舰队成员。如果您需要将集群添加到舰队,请按照创建舰队中您的集群类型说明来注册集群。确保将新注册的集群配置为使用 Google 群组控制访问权限(如上所述)。

舰队成员集群可以添加到其舰队宿主项目中的任意数量的团队范围,从而允许不同的团队在同一集群上运行工作负载。

  1. 在将团队成员添加到范围后,在团队基本信息页面中点击继续
  2. 集群页面中,您可以选择要与此团队范围关联的舰队集群。在集群下拉列表中,选中要添加的集群,然后点击确定

创建舰队命名空间

团队成员可以像使用任何其他 Kubernetes 命名空间一样使用舰队命名空间。创建舰队命名空间时,系统会在团队范围内的所有集群中创建相应的 Kubernetes 命名空间(如果尚不存在)。

  1. 在将集群添加到团队范围后,在集群页面中点击继续
  2. 命名空间页面中,点击添加命名空间
    • 名称部分,为舰队内的命名空间输入一个唯一名称,或者如果要引进现有命名空间,则输入该命名空间的名称。确保该名称与舰队命名空间命名限制不冲突。
  3. 如需向范围添加更多舰队命名空间,请重复上述步骤。
  4. 如需创建团队范围,请点击创建团队范围。创建团队范围后,您可以点击团队部分中的名称来查看和修改团队范围。

Terraform

本部分介绍如何使用 Terraform 设置新团队。如需了解详情和其他示例,请参阅以下资源的参考文档:

创建团队范围

如需创建团队范围,您可以在 Terraform 配置中使用以下代码块。

  resource "google_gke_hub_scope" "TF_SCOPE_RESOURCE_NAME" {
    scope_id = "SCOPE_NAME"
  }

替换以下内容:

  • TF_SCOPE_RESOURCE_NAME:您选择用来唯一标识此代码块创建的 Terraform google_gke_hub_scope 资源的名称。
  • SCOPE_NAME:您的团队范围的唯一标识名称。

将集群添加到范围

您只能将现有舰队成员添加到团队范围。如果您需要将集群添加到舰队,请按照创建舰队中您的集群类型说明来注册集群。确保将新注册的集群配置为使用 Google 群组控制访问权限(如上所述)。

如需将集群添加到团队范围,请在配置中使用以下代码块:

  resource "google_gke_hub_membership_binding" "TF_MEMBERSHIP_BINDING_RESOURCE_NAME" {
    membership_binding_id = "BINDING_NAME"
    scope = SCOPE_NAME
    membership_id = MEMBERSHIP_NAME
    location = "MEMBERSHIP_LOCATION"
  }

替换以下内容:

  • TF_MEMBERSHIP_BINDING_RESOURCE_NAME:用于标识此代码块创建的 google_gke_hub_membership_binding 资源的名称。
  • BINDING_NAME:表示集群和范围之间的关系的名称。我们建议使用 MEMBERSHIP_NAME-SCOPE_NAME
  • SCOPE_NAME:您的团队范围的名称。
  • MEMBERSHIP_NAME:集群在舰队中的唯一标识符(通常是集群名称)。
  • MEMBERSHIP_LOCATION:集群的成员资格位置。

创建舰队命名空间

团队成员可以像使用任何其他 Kubernetes 命名空间一样使用舰队命名空间。 您可以创建新的命名空间,也可以引进现有命名空间。创建舰队命名空间时,系统会在团队范围内的所有集群中创建相应的 Kubernetes 命名空间(如果尚不存在)。

如需创建舰队命名空间,请在配置中使用以下代码块:

  resource "google_gke_hub_namespace" "TF_NAMESPACE_RESOURCE_NAME" {
    scope_namespace_id = "NAMESPACE_NAME"
    scope_id = SCOPE_NAME
    scope = SCOPE_NAME
  }

替换以下内容:

  • TF_NAMESPACE_RESOURCE_NAME:用于标识此代码块创建的 google_gke_hub_namespace 资源的名称。
  • NAMESPACE_NAME:您为舰队命名空间选择的唯一名称。确保此名称与舰队命名空间命名限制不冲突。
  • SCOPE_NAME:在其中创建舰队命名空间的团队范围的名称。

使用 RBAC 授予范围访问权限

团队成员可以使用 RBAC 获得对其范围的访问权限。例如,以下配置可向个人用户授予团队范围访问权限:

  resource "google_gke_hub_scope_rbac_role_binding" "TF_RBAC_ROLE_BINDING_NAME" {
    scope_rbac_role_binding_id = "BINDING_NAME"
    scope_id = SCOPE_NAME
    user = USER_EMAIL
    role {
      predefined_role = "ROLE"
    }
  }

替换以下内容:

  • TF_RBAC_ROLE_BINDING_NAME:用于标识此代码块创建的 google_gke_hub_scope_rbac_role_binding 资源的名称。
  • BINDING_NAME:表示此绑定的名称。
  • SCOPE_NAME:团队范围的名称。
  • USER_EMAIL:用户的电子邮件地址。
  • ROLE:您要授予用户的 RBAC 角色,可以是 admineditview

如需向 Google 群组授予对团队范围的访问权限,请在上述配置中使用 group(而不是 user),并使用团队的 Google 群组的电子邮件地址。

访问舰队命名空间

设置完成后,团队成员可以获取相关的集群凭据来访问其范围内的命名空间。如需使用 Connect 网关获取舰队成员集群的凭据,请运行以下命令,其中 MEMBERSHIP_NAME 是集群的舰队成员资格名称:

   gcloud container fleet memberships get-credentials  MEMBERSHIP_NAME

如需了解详情,请参阅使用 Connect Gateway

管理团队范围

使用以下命令管理团队范围。

gcloud

列出团队范围

如需列出舰队中的所有范围,请运行以下命令:

gcloud container fleet scopes list

如需列出与某个集群关联的所有范围,请运行以下命令:

gcloud container fleet memberships bindings list --membership MEMBERSHIP_NAME

从团队范围中移除集群

如需从范围中移除集群,请运行以下命令:

gcloud container fleet memberships bindings delete BINDING_NAME --membership MEMBERSHIP_NAME

删除团队范围

如需从舰队中删除范围,请运行以下命令:

gcloud container fleet scopes delete SCOPE_NAME

控制台

列出团队范围

如需查看舰队中的所有范围,选择舰队宿主项目,转到 Google Cloud 控制台中的团队部分。

转到“团队”

团队页面显示为舰队创建的所有团队范围的列表,以及每个范围的资源利用率摘要,包括错误数和容器重启次数。

查看团队范围详细信息

对于每个团队范围,您可以查看与该范围关联的标签、该范围内的团队成员以及与该范围关联的日志。

  1. 团队页面上,点击要查看其详细信息的团队范围。
  2. 团队标签页中,您可以查看范围标签(如果有),并查看属于该范围的团队成员。
  3. 点击日志标签页以查看舰队范围日志

在团队范围内添加或删除集群

若要在现有团队范围内添加或删除集群,请执行以下操作:

  1. 转到 Google Cloud 控制台中的团队页面:

    转到“团队”

  2. 选择要在其中添加或删除集群的团队范围。集群标签页显示当前绑定到范围的集群列表。

如需将集群添加到团队范围,请执行以下操作:

  1. 点击页面顶部的添加集群
  2. 集群下拉列表中,选择要添加到范围的集群,然后点击确定
  3. 点击更新团队范围

如需从团队范围中删除集群,请执行以下操作:

  1. 选择集群标签页,其中显示当前绑定到该范围的集群的列表。
  2. 点击要删除的集群旁边的回收站图标,然后点击移除以确认删除。

删除范围

  1. 转到 Google Cloud 控制台中的团队页面:

    转到“团队”

  2. 选择您要删除的团队范围。

  3. 要删除范围,请点击页面顶部的删除

  4. 输入您的范围名称以确认删除,然后再次点击删除

管理舰队命名空间

gcloud

使用以下命令管理团队范围内的命名空间。

列出舰队命名空间

如需列出范围中使用 fleet scopes namespaces create 创建的所有命名空间,请运行以下命令:

gcloud container fleet scopes namespaces list --scope=SCOPE_NAME

删除舰队命名空间

如需删除舰队命名空间,请运行以下命令:

gcloud container fleet scopes namespaces delete NAMESPACE_NAME --scope=SCOPE_NAME

请注意,删除舰队命名空间时发生的情况取决于您添加命名空间的方式:

  • 如果您创建了新的舰队命名空间:此命令会删除该舰队命名空间。它还会删除因创建舰队命名空间创建的所有 Kubernetes 命名空间及其工作负载。
  • 如果您已引进现有 Kubernetes 命名空间:此命令会删除舰队命名空间。您引进的原始命名空间不会被删除。

控制台

如需管理团队范围内的舰队命名空间,请执行以下操作:

  1. 转到 Google Cloud 控制台中的团队页面:

    转到“团队”

  2. 选择您要管理其舰队命名空间的团队范围。

列出舰队命名空间

在团队范围内,选择命名空间标签页,其中会显示此范围内创建的命名空间列表。

查看命名空间详细信息

对于每个舰队命名空间,您可以查看与该命名空间关联的标签,以及按该命名空间过滤的工作负载和日志。

  1. 选择命名空间标签页,其中显示了在团队范围内创建的舰队命名空间的列表。
  2. 点击您要查看其详细信息的舰队命名空间。
  3. 详细信息标签页中,您可以看到舰队命名空间和范围标签。
    • 如需查看此命名空间的工作负载,请点击查看工作负载
    • 工作负载页面中,您可以看到已按命名空间和与该命名空间的团队范围关联的集群过滤的工作负载。
  4. 日志标签页中,您可以按命名空间查看舰队范围日志

将舰队命名空间添加到团队范围

  1. 要添加新的舰队命名空间,请点击页面顶部的添加命名空间
  2. 输入新舰队命名空间的名称,确保该名称不与舰队命名空间命名限制冲突。要添加更多命名空间,请点击添加命名空间
  3. 点击更新团队范围

删除舰队命名空间

  1. 选择命名空间标签页,其中显示了在团队范围内创建的舰队命名空间的列表。
  2. 点击要删除的命名空间旁边的回收站图标。
  3. 输入您的命名空间名称以确认删除,然后再次点击删除

请注意,执行此操作时发生的情况取决于您添加命名空间的方式:

  • 如果您创建了新的舰队命名空间:该舰队命名空间将被删除。因创建舰队命名空间而创建的所有 Kubernetes 命名空间及其工作负载也会被删除。
  • 如果您已引进现有 Kubernetes 命名空间,则系统会删除舰队命名空间。但是,您引进的原始命名空间不会被删除。

更新舰队命名空间名称

舰队命名空间一经创建便无法修改。如果您需要更新舰队命名空间名称,请删除该命名空间,然后在团队范围内新建一个。

管理团队访问权限

gcloud

如需更新团队范围访问权限(例如,为团队成员授予其他角色或更新群组电子邮件地址),请使用相应的 update 命令:

gcloud container fleet scopes rbacrolebindings update BINDING_NAME \
   --scope=SCOPE_NAME \
   --role=ROLE \
   --group=TEAM_EMAIL

gcloud alpha container fleet namespaces rbacrolebindings update BINDING_NAME \
   --scope=SCOPE_NAME \
   --role=ROLE \
   --user=USER_EMAIL

替换以下内容:

  • BINDING_NAME:表示此绑定的字符串名称。
  • SCOPE_NAME:团队范围的唯一标识符。
  • (可选)ROLE:您要更改的角色
  • (可选)TEAM_EMAILUSER_EMAIL:您要更改的电子邮件地址。

控制台

添加或移除团队成员

如需管理团队范围内的团队成员,请执行以下操作:

  1. 转到 Google Cloud 控制台中的团队页面:

    转到“团队”

  2. 选择您要管理其成员的团队范围。

要向范围添加新的团队成员,请执行以下操作:

  1. 点击页面顶部的添加团队成员。按照创建团队范围部分中详细介绍的说明操作。
  2. 点击更新团队范围

如需从范围中移除团队成员,请执行以下操作:

  1. 团队标签页中,点击要从团队范围中移除的团队成员旁边的回收站图标。
  2. 点击删除以确认删除。

您无法在 Google Cloud 控制台中修改团队成员的详细信息。如需在 Google Cloud 控制台中更新范围访问权限(例如,向团队成员授予其他角色或更新群组电子邮件地址),请从范围中移除相应团队成员,然后重新添加这些团队成员和新的详细信息。

委托命名空间管理

通常,只有平台管理员可以同时创建团队范围和舰队命名空间。但是,作为平台管理员,您可能希望将命名空间创建和/或管理委派给团队管理员。这允许团队管理员在其范围内创建和管理舰队命名空间。

要委托命名空间管理,请在项目中创建具有以下权限的自定义 IAM 角色

gkehub.namespaces.get
gkehub.namespaces.create
gkehub.namespaces.update
gkehub.namespaces.delete
gkehub.namespaces.list

您可以根据需要自定义该角色。例如,如果您不想允许删除舰队命名空间,则可以省略自定义角色的 gkehub.namespaces.delete 权限。

定义自定义角色后,请使用以下命令明确授予管理特定团队范围的命名空间的权限:

gcloud container fleet scopes add-iam-policy-binding SCOPE_NAME \
    --member='user:USER_EMAIL' \
    --role='projects/PROJECT_ID/roles/CUSTOM_ROLE_NAME

只有由 USER_EMAIL 标识的用户才能管理此团队范围的舰队命名空间。其他用户将收到错误消息。

舰队命名空间命名限制

当您在团队范围内创建舰队命名空间时,系统会预留并禁止使用以下名称:

  • default
  • kube-system
  • gke-connect
  • kube-node-lease
  • kube-public
  • istio-system
  • gatekeeper-system
  • asm-system
  • config-management-system

管理标签

为了帮助您识别和管理范围,您可以使用 Google Cloud CLI 为舰队命名空间和团队范围创建和管理标签。

添加到团队范围内的标签由该范围中的所有舰队命名空间继承,这意味着它们将附加到范围集群中的所有 Kubernetes 命名空间。直接添加到舰队命名空间的标签仅附加到其相应的 Kubernetes 命名空间。 如果团队范围标签和舰队命名空间标签具有相同的键,则团队范围标签优先。

通过添加以英文逗号分隔的键值对列表,您可以同时处理多个键值对。

管理舰队命名空间标签

创建带有标签的舰队命名空间

如需创建带有标签的舰队命名空间,请运行以下命令:

gcloud container fleet scopes namespaces create NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --namespace-labels KEY=VALUE

替换以下内容:

  • NAMESPACE_NAME:您为舰队内的命名空间选择的唯一名称。
  • SCOPE_NAME:要在其中使用命名空间的团队范围。
  • KEY:标签键值对的键。
  • VALUE:标签的键值对值。

为现有舰队命名空间添加或更新标签

要为现有命名空间添加或更新标签,请运行以下命令:

gcloud container fleet scopes namespaces update NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --update-namespace-labels KEY=VALUE

删除舰队命名空间标签

如需删除特定的舰队命名空间标签,请运行以下命令:

gcloud container fleet scopes namespaces update NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --remove-namespace-labels KEY

KEY 替换为您要移除的标签的键列表(以英文逗号分隔)。

如需删除所有舰队命名空间标签,请运行以下命令:

gcloud container fleet scopes namespaces update NAMESPACE_NAME \
    --scope SCOPE_NAME \
    --clear-namespace-labels

管理团队范围标签

创建带有标签的团队范围

如需创建带有标签的范围,请运行以下命令:

gcloud container fleet scopes create SCOPE_NAME \
    --namespace-labels KEY=VALUE

替换以下内容:

  • SCOPE_NAME:您为新团队范围选择的唯一标识名称。
  • KEY:标签键值对的键。
  • VALUE:标签的键值对值。

为现有团队范围添加或更新标签

要为现有范围添加或更新标签,请运行以下命令:

gcloud container fleet scopes update SCOPE_NAME \
    --update-namespace-labels KEY=VALUE

删除团队范围标签

要删除特定标签,请运行以下命令:

gcloud container fleet scopes update SCOPE_NAME \
     --remove-namespace-labels KEY

KEY 替换为您要移除的标签的键列表(以英文逗号分隔)。

如需删除所有标签,请运行以下命令:

gcloud container fleet scopes update SCOPE_NAME \
    --clear-namespace-labels

问题排查

如果您无法更新或创建舰队团队管理资源,请确保已启用 GKE Enterprise API。如果您在配置舰队团队管理后在舰队宿主项目中停用 GKE Enterprise API,则会发生以下情况:

  • 您创建的所有团队范围和舰队命名空间会继续正常运行,但无法更新。
  • 可以删除现有团队范围和舰队命名空间。
  • 无法创建新的团队范围和舰队命名空间。

后续步骤