一般我们在进行 vSphere with Tanzu 部署时通常会使用 [email protected] 这个用户来进行配置管理,这在 POC 环境下一般 OK,但在企业生产下很少直接用最高权限的用户来进行管理,会使用基于角色的用户管理,这时候对于使用用户的角色和权限就有一些特殊要求。
最近在做一个 POC,现场环境中用户无法提供 vCenter 的最高管理员 [email protected] 用户,只能提供一个拥有 Administrator Role 的 AD 用户,经过测试可以通过此用户部署 vSphere with Tanzu,但后期无法进行任何管理,比如看不到 Supervisor Cluster 的 VM,也没办法通过命令行在 namespace 下建立 Guest Cluster 等。
后来和同事查阅了一些资料,有两种解决方式,推荐使用第一种:
方式 1:将该 AD 用户加入默认的 administrator 组中
将该 AD 用户加入默认的 administrator 组中,这种方式相当于直接给用户最高权限,可以避免未来缺少某些权限造成用户没办法查看某些东西。
具体操作如下。在 vCenter 系统管理中找到用户和组,点击组,找到 Administrator,点击编辑:
在添加成员中选择 AD 域控,在搜索框输入用户名找到相应用户并添加,点击保存:
之后通过 AD 用户登录:
可以发现用户可以正常看到 namespace 和 Tanzu Supervisor Cluster 集群:
方式2:将该 AD 用户加入 vCenter 内置的 ServiceProviderUsers 组中
将该 AD 用户加入 vCenter 内置的 ServiceProviderUsers 组中。这个组可以理解为 vCenter 内部的一个组,拥有管理 Tanzu 主管集群的特殊权限,只要用户属于这个组就能够进行 Tanzu 主管集群相关的管理和监控。
配置过程和上面的基本一致,在组中找到 ServiceProviderUsers,并将用户加入其中保存即可:
除此之外,AD 用户应该拥有对 vCenter 和 Tanzu 的其他权限。在下面示例中,我通过克隆只读角色创建了名为 tanzu 的新角色:
并编辑此角色,分配下面 Tanzu 相关权限:
最后,给 AD 用户分配该角色:
做完上述操作后,基本的 namespace 管理操作均可以正常进行:
在命令行下某些 get 权限丢失,比如不能查看 storageclass 和 namespace,但并不影响 tkc 的创建。
参考资料: