我使用 GKE API 创建了 GKE 集群。下面是我使用的有效载荷和端点。
API: https ://container.googleapis.com/v1/ {parent=projects/ /locations/ }/clusters
方法: POST
请求正文:
{ "cluster": { "name": "test", "masterAuth": { "clientCertificateConfig": { "issueClientCertificate": true } }.... } ...... ..... }
注意:我通过将 clientCertificate 设置为 true 来创建启用 masterAuth 的 GKE 集群。创建集群后,我使用来自 GKE API 的 clusterCaCertificate、clientCertificate 和 clientKey 信息(即,通过描述集群)在本地机器上创建了 kubeconfig。
- 然后我使用“kubectl get nodes”命令列出了节点,响应是
来自服务器的错误(禁止):节点被禁止:用户“客户端”无法在集群范围内列出 API 组“”中的资源“节点”
GKE 描述 API 提供的 clusterCaCertificate 信息具有CN="client" 但它应该是“ admin ”。clusterCaCertificate 由 Google 生成,作为开发人员,我找不到设置 CN 的方法。我什至无法访问集群,因此无法为用户“客户端”执行任何角色绑定或类似操作。知道如何解决这个问题吗?