开发人员用户和开发组是 TKG 服务 集群的目标用户。置备 TKG 服务 集群后,您可以使用 vCenter Single Sign-On 身份验证或受支持的外部身份提供程序向开发人员授予访问权限。

验证开发人员的身份

集群管理员可以向其他用户(如开发人员)授予集群访问权限。开发人员可以使用其用户帐户直接将 pod 到集群,也可以使用服务帐户间接部署。
  • 对于用户帐户身份验证,TKG 服务 集群支持 vCenter Single Sign-On 用户和组。用户或组可以是 vCenter Server 的本地用户或组,也可以从受支持的目录服务器进行同步。
  • 外部 OIDC 用户和组直接映射到 vSphere 命名空间 角色。
  • 对于服务帐户身份验证,可以使用服务令牌。有关详细信息,请参见 Kubernetes 文档。

将开发人员用户添加到集群

要向开发人员授予集群访问权限,请执行以下操作:
  1. 为用户或组定义 Role 或 ClusterRole,并将其应用于集群。有关详细信息,请参见 Kubernetes 文档。
  2. 为用户或组创建 RoleBinding 或 ClusterRoleBinding,并将其应用于集群。请参见下面的示例。

示例 RoleBinding

要向 vCenter Single Sign-On 用户或组授予访问权限,RoleBinding 中的主题必须包含 name 参数的以下任一值。
表 1. 支持的用户和组字段
字段 描述
sso:USER-NAME@DOMAIN 例如,本地用户名,如 sso:[email protected]
sso:GROUP-NAME@DOMAIN 例如,与 vCenter Server 集成的目录服务器中的组名称,如 sso:[email protected]

以下示例 RoleBinding 将名为 Joe 的 vCenter Single Sign-On 本地用户绑定到名为 edit 的默认 ClusterRole。此角色允许对命名空间(在本例中为 default 命名空间)中的大多数对象进行读/写访问。

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: rolebinding-cluster-user-joe
  namespace: default
roleRef:
  kind: ClusterRole
  name: edit                             #Default ClusterRole
  apiGroup: rbac.authorization.k8s.io
subjects:
- kind: User
  name: sso:[email protected]            #sso:<username>@<domain>
  apiGroup: rbac.authorization.k8s.io