我有一个朋友授予我访问他的 kube 集群(托管在 IBM Cloud 上)的权限。
我可以通过 IBM Cloud 控制台登录
但是,当我尝试通过 kubectl 访问它们时:kubectl get nodes
导致错误消息:
服务器错误(禁止):节点被禁止:用户“ https://iam.ng.bluemix.net/kubernetes# ”无法列出集群范围内的节点。
为什么控制台和 CLI 之间的访问 (RBAC) 会有所不同?
我有一个朋友授予我访问他的 kube 集群(托管在 IBM Cloud 上)的权限。
我可以通过 IBM Cloud 控制台登录
但是,当我尝试通过 kubectl 访问它们时:kubectl get nodes
导致错误消息:
服务器错误(禁止):节点被禁止:用户“ https://iam.ng.bluemix.net/kubernetes# ”无法列出集群范围内的节点。
为什么控制台和 CLI 之间的访问 (RBAC) 会有所不同?
我是 IBM Kubernetes 服务的开发主管。您需要先在集群上生成 RBAC。你可以通过两种方式做到这一点。
ibmcloud ks cluster-config xxxx
其中 xxxx 是集群的 id。如果其中的用户名User "https://iam.ng.bluemix.net/kubernetes#"
有任何大写,我建议使用 IBM 开一张票。在某些情况下,内部用户的用户名中包含大写字母,这会导致身份验证问题。
与此同时,您应该仍然可以使用 CLI。
如代码所述,您可能没有在 RBAC 中为您的用户配置足够的权限。也许,您在该用户的集群角色绑定配置中有错字。
在这种情况下,您已经通过了身份验证阶段,但是您在尝试执行“get”命令的授权阶段被阻止了。