在舰队级层为集群设置 GKE Identity Service

本文档适用于希望在集群上设置 GKE Identity Service 的集群管理员或应用运维人员。本文档介绍如何使用您偏好的身份提供方在舰队级层对集群设置 GKE Identity Service。

启用 API

首先,您必须启用相关的 API。

控制台

确保已选择集群所注册的项目。

  • Enable the GKE Hub and Kubernetes Engine APIs.

    Enable the APIs

gcloud

运行以下命令启用设置所需的 API:

gcloud services enable 
gkehub.googleapis.com
container.googleapis.com

配置集群

如需将集群配置为使用您选择的提供方,GKE Identity Service 需要您指定有关身份提供方的详细信息、为用户识别提供的 JWT 令牌的信息,以及作为客户端应用注册 GKE Identity Service 时提供的其他信息。 例如,如果您的提供方使用以下字段(以及其他字段)创建身份令牌,其中 iss 是身份提供方 URI,sub 用于标识用户,groupList 用于列出用户所属的安全群组:

{
  'iss': 'https://server.example.com'
  'sub': 'u98523-4509823'
  'groupList': ['developers@example.corp', 'us-east1-cluster-admins@example.corp']
  ...
}

...则您的配置将具有以下相应的字段:

issueruri: 'https://server.example.com'
username: 'sub'
group: 'groupList'
...

您的平台管理员或组织中管理身份的人员应为您提供创建配置所需的大部分信息。 如需查看一些常用身份提供方的配置示例,请参阅提供方专用配置

借助 GKE Identity Service,您可以通过 Google Cloud 控制台或使用 Google Cloud CLI 创建或更新和应用此配置。

控制台

启用 GKE Identity Service

  1. 在 Google Cloud 控制台中,前往 Feature Manager 页面。

    前往 Feature Manager

  2. Identity Service 面板中,点击启用,然后在显示的窗格中再次点击启用。这将创建一个新的 GKE Identity Service 控制器实例,以管理舰队集群中 GKE Identity Service 的生命周期。

选择集群

  1. 返回 Feature Manager 页面,在 Identity Service 面板中点击详细信息,打开该服务的详细信息窗格。此时会显示项目的集群及其舰队级 GKE Identity Service 状态。
  2. 点击更新 Identity Service以打开设置窗格。
  3. 选择要配置的集群。只能选择受支持的集群类型。您可以选择单个集群,也可以指定所有集群都使用相同的身份配置。 如果您已配置舰队级默认设置,则系统会将配置协调回默认设置。如需了解详情,请参阅配置舰队级默认设置
  4. 身份提供方下拉列表中,选择您要如何配置集群。如果集群已有 GKE Identity Service 配置,则可以选择对其进行更新。如果现有的已注册集群具有您要使用的 GKE Identity Service 配置,则可以选择将该配置复制到所选的集群。如需创建全新的配置,请按照所选提供方的相关说明进行操作(请参见下一部分)。

设置提供方详细信息

您需要添加的提供方详细信息取决于您要在配置中使用的身份提供方类型。

OIDC

  1. 选择新建 Open ID Connect,以创建新的 OIDC 配置。
  2. 提供商名称字段中指定要用于识别此配置的名称,通常是身份提供商名称。此名称必须以字母开头,后面最多可跟 39 个小写字母、数字或连字符,但不能以连字符结尾。创建配置后,您将无法修改此名称。
  3. 客户端 ID 字段中指定向您的提供商注册 GKE Identity Service 时返回的客户端 ID。
  4. 客户端密钥字段中指定客户端应用和身份提供商之间必须共享的客户端密钥。
  5. 颁发者网址字段中,指定用于向您的身份提供商发出授权请求的 URI。
  6. 点击下一步以设置 OIDC 特性。

Azure AD

  1. 选择新建 Azure Active Directory,以创建新的 Azure AD 配置。
  2. 提供商名称字段中指定要用于识别此配置的名称,通常是身份提供商名称。此名称必须以字母开头,后面最多可跟 39 个小写字母、数字或连字符,但不能以连字符结尾。创建配置后,您将无法修改此名称。
  3. 客户端 ID 字段中指定向您的提供商注册 GKE Identity Service 时返回的客户端 ID。
  4. 客户端密钥字段中指定客户端应用和身份提供商之间必须共享的客户端密钥。
  5. 租户中指定租户,即要进行身份验证的 Azure AD 账号。
  6. 点击下一步以设置 Azure AD 特性。

LDAP

  1. 选择 LDAP,以创建新的 LDAP 配置。
  2. 提供商名称字段中指定要用于识别此配置的名称,通常是身份提供商名称。此名称必须以字母开头,后面最多可跟 39 个小写字母、数字或连字符,但不能以连字符结尾。创建配置后,您将无法修改此名称。
  3. 点击下一步
  4. 指定 LDAP 服务器的主机名(必填)、LDAP 连接类型和 base64 编码的 CA 证书。
  5. 点击下一步以配置服务器。
  6. 指定用户的标识名、过滤条件、登录属性和标识符属性。
  7. 点击下一步以设置用户详细信息。
  8. 如果您选择使用群组,请指定群组的标识名、过滤条件和标识符属性。
  9. 点击下一步以设置群组详细信息。
  10. 指定服务账号的用户名和密码。
  11. 点击完成以设置服务账号名称。

设置特性

您需要添加的属性取决于您的身份提供方,以及您的平台管理员在为 GKE Identity Service 配置提供方时选择的设置选项。

OIDC

  • 填写配置特性:

    • kubectl 重定向 URI:gcloud CLI 使用的重定向网址和端口,由平台管理员在注册时指定,通常采用 http://localhost:PORT/callback 形式。
    • 证书授权机构(可选):如果平台管理员提供,则该参数为身份提供商的 PEM 编码证书字符串。
    • 群组声明(可选):提供商用于返回账号的安全群组的 JWT 声明(字段名称)。
    • 群组前缀(可选):如果您有多个身份提供商的配置(通常是提供商名称),则该参数为您要附加到安全群组名称的前缀,以避免与访问权限控制规则中的现有名称冲突。
    • 代理(可选):用于连接到身份提供商的代理服务器地址(如适用)。例如,如果您的集群位于专用网络中并且需要连接到公共身份提供商,则可能需要设置此参数。例如:http://user:password@10.10.10.10:8888
    • 范围(可选):身份提供商所需的任何其他范围。Microsoft Azure 和 Okta 需要 offline_access 范围。 如有必要,请点击添加范围以添加更多范围。
    • 用户声明(可选):您的提供商用于标识账号的 JWT 声明(字段名称)。如果您未在此处指定值,GKE Identity Service 会使用“sub”,这是许多提供商使用的用户 ID 声明。您可以选择其他声明,例如“电子邮件”或“名称”,具体取决于 OpenID 提供方。“电子邮件”以外的声明会以颁发者网址作为前缀,以防止命名冲突。
    • 用户前缀(可选):如果您不想使用默认前缀,则该参数为您要附加到用户声明的前缀,以防止与现有名称冲突。
    • 额外参数(可选):配置所需的任何额外参数,指定为参数 KeyValue。如果需要,请点击添加参数添加更多参数。
    • 启用访问令牌(可选):如果启用,则允许为 OIDC 提供方(例如 Okta)提供群组支持。
    • 部署 Google Cloud 控制台代理(可选):如果启用了此代理,则进行部署,以允许 Google Cloud 控制台连接到无法通过互联网公开访问的本地身份提供商。

Azure AD

  • 填写配置特性:

    • kubectl 重定向 URI:gcloud CLI 使用的重定向网址和端口,由平台管理员在注册时指定,通常采用 http://localhost:PORT/callback 形式。
    • 用户声明(可选):您的提供商用于标识账号的 JWT 声明(字段名称)。如果您未在此处指定值,则 GKE Identity Service 会依次使用“email”“preferred_username”或“sub”的值,以获取用户详细信息。
    • 代理(可选):用于连接到身份提供商的代理服务器地址(如适用)。例如,如果您的集群位于专用网络中并且需要连接到公共身份提供商,则可能需要设置此参数。例如:http://user:password@10.10.10.10:8888

添加身份提供商

  • 如果您想要为队列配置其他身份提供方,则可以选择在此处添加提供方。按照相关步骤指定其他身份提供方

更新配置

  • 点击更新配置。这会在必要时安装 GKE Identity Service(仅限 EKS 集群,GKE 集群默认已安装 GKE Identity Service),并在所选集群上应用客户端配置。

gcloud

创建配置文件

GKE Identity Service 使用名为 ClientConfig 的 Kubernetes 自定义资源 (CRD) 进行集群配置,其中包含 GKE Identity Service 与身份提供方交互所需的全部信息对应的字段。下面的部分介绍了 OIDC 和 LDAP 的配置,您需要用自己的配置创建一个名为 auth-config.yaml 的文件。

OIDC

下面的文件对 oidc 配置和 azuread 配置都进行了展示。如需详细了解何时使用 oidcazuread,请参阅提供方专用配置

  apiVersion: authentication.gke.io/v2alpha1
  kind: ClientConfig
  metadata:
    name: default
    namespace: kube-public
  spec:
    authentication:
    - name: NAME
      proxy: PROXY_URL
      oidc:
        certificateAuthorityData: CERTIFICATE_STRING
        clientID: CLIENT_ID
        clientSecret: CLIENT_SECRET
        deployCloudConsoleProxy: PROXY_BOOLEAN
        extraParams: EXTRA_PARAMS
        groupsClaim: GROUPS_CLAIM
        groupPrefix: GROUP_PREFIX
        issuerURI: ISSUER_URI
        kubectlRedirectURI: http://localhost:PORT/callback
        scopes: SCOPES
        userClaim: USER_CLAIM
        userPrefix: USER_PREFIX
    - name: NAME
      proxy: PROXY_URL
      azureAD:
        clientID: CLIENT_ID
        clientSecret: CLIENT_SECRET
        tenant: TENANT_UUID
        kubectlRedirectURI: http://localhost:PORT/callback

如果您配置了多个身份提供方,则可以使用与上述配置相同的格式,在 authentication 锚标记下的 auth-config.yaml 文件中列出多个身份验证配置。下表介绍了 ClientConfig 中的 oidcazuread 对象的各个字段。大部分字段是可选的。您需要添加的字段取决于您的身份提供方,以及您的平台管理员在为 GKE Identity Service 配置提供方时选择的设置选项。

字段 必需 说明 格式
name 您要用于标识此配置的名称,通常是身份提供方名称。配置名称必须以字母开头,后面最多可跟 39 个小写字母、数字或连字符,但不能以连字符结尾。 字符串
certificateAuthorityData 如果平台管理员提供,则该字段为身份提供方的 PEM 编码证书字符串。将生成的字符串作为单独的一行添加到 certificateAuthorityData 中。 字符串
clientID 向您的提供方注册 GKE Identity Service 时返回的客户端标识符。 字符串
clientSecret 向您的提供商注册 GKE Identity Service 时返回的客户端密钥。 字符串
deployCloudConsoleProxy 指定是否部署一个代理,该代理允许 Google Cloud 控制台连接到无法通过互联网公开访问的本地身份提供方。默认情况下,该值设置为 false 布尔值
extraParams 要发送到身份提供方的其他键值对参数,以逗号分隔列表的形式指定,例如“prompt=consent,access_type=offline”。 英文逗号分隔列表
enableAccessToken 启用后,当用户从命令行登录时,GKE Identity Service 可以使用身份提供方的 userinfo 端点获取群组信息。如果您的提供方(例如 Okta)提供来自此端点的群组声明,您便可以使用安全群组进行授权。如果未设置,则视为 false 布尔值
groupsClaim 您的提供方用于返回账号的安全群组的 JWT 声明(字段名称)。 字符串
groupPrefix 如果您有多个身份提供方的配置(通常是提供方名称),则该字段为您要附加到安全群组名称的前缀,以避免与访问权限控制规则中的现有名称冲突。 字符串
issuerURI 用于向您的身份提供方发出授权请求的 URI。URI 必须使用 HTTPS。 网址字符串
kubectlRedirectURI gcloud CLI 使用的重定向网址和端口,由平台管理员在注册时指定,通常采用 http://localhost:PORT/callback 形式。 网址字符串
scopes 要发送到 OpenID 提供方的其他范围。例如,Microsoft Azure 和 Okta 需要 offline_access 范围。 英文逗号分隔列表
userClaim 您的提供方用于识别用户账号的 JWT 声明(字段名称)。如果您未在此处指定值,GKE Identity Service 会使用“sub”,这是许多提供方使用的用户 ID 声明。您可以选择其他声明,例如“电子邮件”或“名称”,具体取决于 OpenID 提供方。“电子邮件”以外的声明会以颁发者网址作为前缀,以防止命名冲突。 字符串
userPrefix 如果您不想使用默认前缀,则该字段为您要附加到用户声明的前缀,以防止与现有名称冲突。 字符串
租户 要进行身份验证的 Azure AD 账号的种类。支持的值为租户 ID,或属于特定租户的账号的租户名称。租户名称也称为主域名。如需详细了解如何查找这些值,请参阅查找 Microsoft Azure AD 租户 ID 和主域名 字符串
proxy 用于连接到身份提供方的代理服务器地址(如适用)。例如,如果您的集群位于专用网络中并且需要连接到公共身份提供方,则可能需要设置此字段。例如:http://user:password@10.10.10.10:8888 字符串

SAML

下面的文件对 SAML 配置进行了展示:

   apiVersion: authentication.gke.io/v2alpha1
   kind: ClientConfig
   metadata:
     name: default
     namespace: kube-public
   spec:
     authentication:
     - name: NAME
       saml:
         idpEntityID: ENTITY_ID
         idpSingleSignOnURI: SIGN_ON_URI
         idpCertificateDataList: IDP_CA_CERT
         userAttribute: USER_ATTRIBUTE
         groupsAttribute: GROUPS_ATTRIBUTE
         userPrefix: USER_PREFIX
         groupPrefix: GROUP_PREFIX
         attributeMapping:
           ATTRIBUTE_KEY_1 : ATTRIBUTE_CEL_EXPRESSION_1
           ATTRIBUTE_KEY_2 : ATTRIBUTE_CEL_EXPRESSION_2
      certificateAuthorityData: CERTIFICATE_STRING
      preferredAuthentication: PREFERRED_AUTHENTICATION
      server: <>

下表介绍了 ClientConfig saml 对象的字段。您需要添加的字段取决于您的身份提供方,以及您的平台管理员在为 GKE Identity Service 配置提供方时选择的设置选项。

字段 必需 说明 格式
name 您要用于标识此配置的名称,通常是身份提供方名称。配置名称必须以字母开头,后面最多可跟 39 个小写字母、数字或连字符,但不能以连字符结尾。 字符串
idpEntityID SAML 提供方的 SAML 实体 ID,以 URI 格式指定。例如:https://www.idp.com/saml 网址字符串
idpSingleSignOnURI SAML 提供方的 SSO 端点,以 URI 格式指定。例如:https://www.idp.com/saml/sso 网址字符串
idpCertificateDataList 对应于用于验证 SAML 响应的身份提供方证书。这些证书必须采用标准的 base64 编码和 PEM 格式。最多支持两个证书,以便于身份提供方证书轮替。 字符串
userAttribute SAML 响应中包含用户名的属性的名称。 字符串
groupsAttribute SAML 响应中包含用户群组信息的属性的名称。 字符串
userPrefix 如果您不想使用默认前缀,则该字段为您要附加到用户声明的前缀,以防止与现有名称冲突。 字符串
groupPrefix 如果您有多个身份提供方的配置(通常是提供方名称),则该字段为您要附加到安全群组名称的前缀,以避免与访问权限控制规则中的现有名称冲突。 字符串
attributeMapping 其他用户属性的映射。 字符串
certificateAuthorityData 如果平台管理员提供,则该字段为身份提供方的 PEM 编码证书字符串。将生成的字符串作为单独的一行添加到 certificateAuthorityData 中。 字符串
preferredAuthentication 在集群中配置的首选身份验证方法的名称。 字符串

LDAP

下面的文件对 ldap 配置进行了展示。

  apiVersion: authentication.gke.io/v2alpha1
  kind: ClientConfig
  metadata:
    name: default
    namespace: kube-public
  spec:
    authentication:
    - name: ldap
      ldap:
        server:
          host: HOST_NAME
          connectionType: CONNECTION_TYPE
          certificateAuthorityData: CERTIFICATE_AUTHORITY_DATA
        user:
          baseDn: BASE_DN
          loginAttribute: LOGIN_ATTRIBUTE
          filter: FILTER
          identifierAttribute: IDENTIFIER_ATTRIBUTE
        group:
          baseDn: BASE_DN
          filter: FILTER
          identifierAttribute: IDENTIFIER_ATTRIBUTE
        serviceAccount:
          simpleBindCredentials:
            dn: DISTINGUISHED_NAME
            password: PASSWORD

下表介绍了 ClientConfig ldap 对象中的各字段。您需要添加的字段取决于您的身份提供方,以及您的平台管理员在为 GKE Identity Service 配置提供方时选择的设置选项:

字段 必需 说明 格式
name(名称) 用于标识此 LDAP 配置的名称 字符串
服务器
host LDAP 服务器的主机名或 IP 地址。端口是可选项,如果未指定,则默认为 389。例如 ldap.server.example.com10.10.10.10:389 字符串
connectionType 连接到 LDAP 服务器时使用的 LDAP 连接类型。如果指定了 starttlsldaps,则 certificateAuthorityData 字段不应为空。 字符串
certificateAuthorityData 对于某些 LDAP 连接类型而言为必填项 包含用于 LDAP 服务器的 Base64 编码的 PEM 格式的证书授权机构证书。只能为 ldapsstartTLS 连接提供此字段。 字符串
位用户
baseDN LDAP 目录中子树的位置,用于搜索用户条目。 采用 DN 格式的字符串。
loginAttribute 与输入用户名匹配的特性的名称。此字段用于在 LDAP 数据库(例如 (<LoginAttribute>=<username>))中查找用户,并与可选过滤条件字段结合使用。默认为 userPrincipalName 字符串
过滤条件 搜索用户时要应用的可选过滤条件。这可用于进一步限制允许登录的用户账号。如果未指定,则默认为 (objectClass=User) 字符串
identifierAttribute 确定在用户进行身份验证后要将哪个属性用作其用户身份。这不同于 loginAttribute 字段,后者允许用户使用用户名登录,但其实际标识符是电子邮件地址或完整的标识名 (DN)。例如,如果将 loginAttribute 设置为 sAMAccountName 并将 identifierAttribute 设置为 userPrincipalName,用户将能够以 bsmith 身份登录,但用户的实际 RBAC 政策将写作 bsmith@example.com。建议使用 userPrincipalName,因为该项对于每个用户都是唯一的。如果未指定该字段,则默认为 userPrincipalName 字符串
群组(可选字段)
baseDN LDAP 目录中子树的位置,用于搜索群组条目。 字符串
过滤条件 搜索用户所属的群组时使用的可选过滤条件。该项可用于明确匹配特定群组,以减少为每个用户返回的群组数量。默认为 (objectClass=Group) 字符串
identifierAttribute 用户所属的每个群组的标识名。例如,如果设置为 distinguishedName,则应将 RBAC 和其他群组预期值写为完整的 DN。如果未指定该项,则默认为 distinguishedName 字符串
serviceAccount/simpleBindCredentials
dn 服务账号用户的标识名。 字符串
密码 服务账号用户的密码。 字符串

启用 GKE Identity Service

如需为您的项目启用 GKE Identity Service,请运行以下命令:

gcloud container fleet identity-service enable

这将创建一个新的 GKE Identity Service 控制器实例,以管理舰队集群中 GKE Identity Service 的生命周期。您只需为每个项目运行一次此命令,即可使用 GKE Identity Service 并将所有受支持的集群注册到您的项目舰队。

或者,您可以使用舰队级默认配置来启用 GKE Identity Service。使用此设置时,您指定的 GKE Identity Service 提供程序配置会自动应用于在创建集群期间 Google Cloud 上注册到舰队的每个 GKE 集群。如需了解操作详情,请参阅配置舰队级默认设置

将配置应用于集群

如需在必要时安装 GKE Identity Service(仅限 EKS 集群,所有其他受支持的集群类型默认已安装 GKE Identity Service),并将配置应用于集群,请运行以下命令:

gcloud container fleet identity-service apply \
--membership=CLUSTER_NAME \
--config=/path/to/auth-config.yaml

CLUSTER_NAME 替换为集群在舰队内的唯一名称。运行此命令后,配置将由 GKE Identity Service 控制器管理。对 GKE Identity Service 客户端配置所做的任何本地更改都会由控制器协调回此设置中指定的配置。

这样,GKE Identity Service 就可以检索使用 Google ID 登录的用户账号的 Google 群组信息。从 GKE Enterprise 1.13 版开始,此配置适用于 Google Distributed Cloud(VMware裸金属)上的集群。如需详细了解 Google 群组功能,请参阅使用 Google 群组设置 Connect 网关

请注意,如果您的集群已有针对任何身份验证选项的配置,则以下情况适用:

  • 如果您已有 OIDC 提供方的现有集群级配置,则对集群应用舰队级 GKE Identity Service 配置将会覆盖所有现有身份验证规范。
  • 如果舰队级配置不支持提供方的现有集群级配置,则此设置将失败。您必须移除现有的提供商配置才能应用舰队级配置。

如果您不再希望 GKE Identity Service 控制器管理您的配置(例如,如果您想要使用其他身份验证选项),则可以按照停用 GKE Identity Service 管理中的说明停用此功能。

特定于提供方的配置

本部分为 OIDC 提供方(例如 Azure AD 和 Okta)提供配置指南,包括示例配置,您可以复制该示例配置并使用自己的详细信息进行修改。

Azure AD

这是使用 Azure AD 设置 GKE Identity Service 的默认配置。通过使用此配置,GKE Identity Service 可以从 Azure AD 获取用户和群组信息,此外,您可以根据群组设置 Kubernetes 基于角色的访问权限控制 (RBAC)。不过,如果使用此配置,对于每位用户,您最多只能检索大约 200 个群组。

如果对于每位用户,您需要检索 200 个以上的群组,请参阅 Azure AD(高级)部分的说明。

...
spec:
  authentication:
  - name: oidc-azuread
    oidc:
      clientID: CLIENT_ID
      clientSecret: CLIENT_SECRET
      cloudConsoleRedirectURI: https://console.cloud.google.com/kubernetes/oidc
      extraParams: prompt=consent, access_type=offline
      issuerURI: https://login.microsoftonline.com/TENANT_ID/v2.0
      kubectlRedirectURI: http://localhost:PORT/callback
      scopes: openid,email,offline_access
      userClaim: email

# Rest of the resource is managed by Google. DO NOT MODIFY.
...

Azure AD(高级)

通过 Azure AD 的此可选配置,GKE Identity Service 可以使用 Microsoft Graph API 检索用户和群组信息,并且对于可针对每位用户检索的群组数量,没有任何限制。如需了解支持此配置的平台,请参阅 Azure AD 的高级设置

如果需要针对每位用户检索的群组数量少于 200 个,则建议您使用默认配置,即在您的 ClientConfig 中使用一个 oidc 锚标记。如需了解详情,请参阅 Azure AD 的相关说明。

示例配置中的所有字段都是必填字段。

...
spec:
  authentication:
  - name: azure
    azureAD:
      clientID: CLIENT_ID
      clientSecret: CLIENT_SECRET
      tenant: TENANT_UUID
      kubectlRedirectURI: http://localhost:PORT/callback
      groupFormat: GROUP_FORMAT
      userClaim: USER_CLAIM

# Rest of the resource is managed by Google. DO NOT MODIFY.
...

GROUP_FORMAT 替换为您要用于检索群组信息的格式。此字段可以接受与用户群组的 IDNAME 相对应的值。此设置仅适用于 Google Distributed Cloud(本地)部署中的集群。

Okta

下面向您展示了如何使用用户和群组设置身份验证,并将 Okta 作为您的身份提供方。此配置允许 GKE Identity Service 使用访问令牌和 Okta 的 userinfo 端点检索用户和群组声明。

...
spec:
  authentication:
  - name: okta
    oidc:
      clientID: CLIENT_ID
      clientSecret: CLIENT_SECRET
      cloudConsoleRedirectURI: https://console.cloud.google.com/kubernetes/oidc
      enableAccessToken: true
      extraParams: prompt=consent
      groupsClaim: groups
      issuerURI: https://OKTA_ISSUER_URI/
      kubectlRedirectURI: http://localhost:PORT/callback
      scopes: offline_access,email,profile,groups
      userClaim: email

# Rest of the resource is managed by Google. DO NOT MODIFY.
...

配置舰队级默认设置

您可以使用舰队级默认配置来启用 GKE Identity Service。使用此设置时,在创建集群期间注册的每个新的 GKE on Google Cloud 集群GKE 集群都会在具有您指定的配置的集群上自动启用 GKE Identity Service。如果您在启用此功能时已有现有的舰队成员集群,这些集群不会自动使用舰队默认设置进行更新,但您可以选择将默认配置应用于这些集群。如需详细了解如何管理舰队级配置,请参阅管理舰队级功能

如需使用舰队级默认配置来配置 GKE Identity Service,请执行以下操作:

  1. 创建一个名为 fleet-default.yaml 的文件,然后按照创建配置文件中的说明填充文件内容。
  2. 使用舰队级默认配置启用 GKE Identity Service:

    gcloud container fleet identity-service enable --fleet-default-member-config=fleet-default.yaml

    如需修改现有的舰队级默认配置,或者在不使用此功能的情况下已在舰队中启用了 GKE Identity Service 时添加一个舰队级默认配置,请运行以下命令:

    gcloud container fleet identity-service apply --fleet-default-member-config=default-config.yaml

    在设置舰队级默认配置之前注册的现有舰队成员集群不会自动继承默认配置。如需将默认配置应用于现有的舰队成员集群,请运行以下命令:

    gcloud container fleet identity-service apply --origin=fleet --membership=CLUSTER_NAME

    如需为 GKE Identity Service 停用舰队级默认设置,请运行以下命令移除默认配置:

    gcloud container fleet identity-service delete --fleet-default-member-config

验证身份服务配置

完成舰队级设置后,您可以验证舰队中的集群是否已成功配置了您指定的身份服务配置。

控制台

  1. 在 Google Cloud 控制台中,前往 Feature Manager 页面。

    前往 Feature Manager

    所有已启用的功能在其面板中显示为已启用

  2. Identity Service 面板中,点击详细信息。详细信息面板会显示已注册集群的状态。

gcloud

运行以下命令:

gcloud container fleet identity-service describe

后续步骤

配置集群后,请继续设置用户访问权限