开发人员是 Kubernetes 的目标用户。置备 Tanzu Kubernetes 集群后,可以使用 vCenter Single Sign-On 身份验证向开发人员授予访问权限。

验证开发人员的身份

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

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

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

示例 RoleBinding

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

以下示例 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:joe@vsphere.local            #sso:<username>@<domain>
  apiGroup: rbac.authorization.k8s.io