DevOps 工程师连接到主管,以置备和管理 Tanzu Kubernetes Grid 2 集群的生命周期。开发人员连接到 TKG 2 集群以部署软件包、工作负载和服务。管理员可能需要直接访问 TKG 2 集群节点以进行故障排除。vSphere with Tanzu 提供支持每个用例和角色的身份和访问管理工具和方法。

TKG 访问范围限定为 vSphere 命名空间

您可以在 vSphere 命名空间中置备 TKG 集群。同样,在 vSphere 命名空间 级别设置 TKG 集群权限并确定其范围。配置 vSphere 命名空间 时,可以为该命名空间设置权限,包括标识源、用户和组以及角色。这些权限将应用于 vSphere 命名空间 中置备的任何 TKG 集群。

主管 中的 Tanzu Kubernetes Grid 支持两种用户/组身份验证方法:vCenter Single Sign-On符合 OIDC 的外部身份提供程序。

使用 vCenter Single Sign-On 和 Kubectl 进行身份验证

默认情况下,系统使用 vCenter Single Sign-OnvSphere with Tanzu 环境进行身份验证,包括主管和 TKG 2 集群。vCenter Single Sign-On 为 vSphere 基础架构提供身份验证,并可与 AD/LDAP 系统集成。有关 vCenter Single Sign-On 的详细信息,请参见使用 vCenter Single Sign-On 进行 vSphere 身份验证

要使用 vCenter Single Sign-On 进行身份验证,请使用 kubectl 的 vSphere 插件。通过身份验证后,可以使用 kubectl 以声明方式置备和管理 TKG 集群的生命周期、部署 TKG 集群工作负载以及部署 vSphere Pod主管服务等其他主管功能。

要使用 vCenter Single Sign-On 进行连接,请参见使用 vCenter SSO 身份验证连接到 主管 上的 TKG 集群

使用外部身份提供程序和 Tanzu CLI 进行身份验证

除了 vCenter Single Sign-On 身份验证,您可以为 主管 配置支持 OpenID Connect 协议的外部身份提供程序。配置后,主管 将用作 OAuth 2.0 客户端,并使用 Pinniped 身份验证服务通过 Tanzu CLI 连接到 TKG 集群。Tanzu CLI 支持置备和管理 TKG 集群的生命周期。

每个 主管 实例支持单个外部身份提供程序。

要使用外部 OIDC 提供程序进行连接,请参见使用外部身份提供程序连接到 主管 上的 TKG 集群

使用混合方法进行身份验证:vCenter SSO 和 Tanzu CLI

如果使用 vCenter Single Sign-On 作为身份提供程序,并且要使用 Tanzu CLI,则可以采用混合方法,即使用 Tanzu CLI 和 kubectl 的 vSphere 插件 登录到主管。此方法对于安装 Tanzu 软件包可能非常有用。请参见使用 Tanzu CLI 和 vCenter SSO 身份验证连接到主管

用户和组

配置 vSphere 命名空间时,可以向用户和组授予 TKG 集群访问权限。为其分配权限的用户或组必须存在于标识源中。用户使用其身份提供程序凭据(使用 vCenter Single Sign-On 凭据或使用外部身份提供程序)对主管上的 TKG 集群进行身份验证。

您可以根据开发人员的身份提供程序或在 Kubernetes 上使用集群角色和绑定向其授予访问权限。请参见授予开发人员对主管上的 TKG 2 集群的 vCenter SSO 访问权限

角色权限

主管 上的 TKG 集群支持以下角色:查看者、编辑者和所有者。角色权限在 vSphere 命名空间 中分配,且其权限也限于此命名空间。请参见为 主管 上的 TKG 2 集群配置 vSphere 命名空间

授予了 vSphere 命名空间可以查看角色权限的用户/组对该 vSphere 命名空间 中置备的 TKG 集群具有只读访问权限。

授予了 vSphere 命名空间可以编辑角色权限的用户/组可以在该 vSphere 命名空间 中创建、读取、更新和删除 TKG 集群。

授予了 vSphere 命名空间所有者权限的用户/组可以管理该 vSphere 命名空间 中的 TKG 集群,并且可以使用 kubectl 创建和删除其他 vSphere 命名空间
注: 来自 vCenter Single Sign-On 标识源的用户支持所有者角色。不能将所有者角色用于外部身份提供程序中的用户/组。
将用户/组分配给查看者或编辑者角色时,系统会创建 RoleBinding 并将其映射到 ClusterRole。例如,分配给编辑者角色的用户/组通过 RoleBinding 映射到 Kubernetes cluster-admin ClusterRole。 cluster-admin 角色允许用户置备和操作集群。您可以在目标 vSphere 命名空间 中使用命令 kubectl get rolebinding 查看此映射。
kubectl get rolebinding -n tkg2-cluster-namespace
NAME                                                           ROLE                         AGE
wcp:tkg-cluster-namespace:group:vsphere.local:administrators   ClusterRole/edit             33d
wcp:tkg-cluster-namespace:user:vsphere.local:administrator     ClusterRole/edit             33d

将用户/组分配给所有者角色时,系统会创建 ClusterRoleBinding 并将其映射到允许用户/组使用 kubectl 创建和删除 vSphere 命名空间 的 ClusterRole。无法使用相同的方法查看此映射。必须通过 SSH 登录到 主管 节点才能查看此映射。

系统管理员连接

管理员可以以 kubernetes-admin 用户身份连接到 TKG 集群节点。如果 vCenter Single Sign-On 身份验证不可用,则此方法可能适用。要进行故障排除,系统管理员可以使用 SSH 和私钥以 vmware-system-user 用户身份连接到 TKG 集群。请参见以 Kubernetes 管理员和系统用户身份连接到主管上的 TKG 2 集群