开发者社区> 问答> 正文

创建ClusterRole作为默认计算服务帐户失败,并显示额外权限错误

我正在尝试在私有群集中创建一个新的ClusterRole,我正在从一个Jumpbox管理,但一直打“禁止:尝试授予额外的权限”错误。

我通过gcloud作为默认计算服务帐户进行身份验证,并且具有Kubernetes Engine Admin角色。

我使用了为gcloud服务帐户创建了一个集群角色绑定

kubectl create ClusterRoleBinding sa-admin-binding --ClusterRole=cluster-admin --User=xxxxxxxx-service-account@xxxx.developer.gserviceaccount.com
当我尝试创建群集角色但是我收到以下错误。

服务器出错(禁止):创建“role.yml”时出错:clusterroles.rbac.authorization.k8s.io“pod-viewer”被禁止:尝试授予额外权限:[{[list] [] [pods] [ ] []}] user =&{ 115268482330004182284 [system:authenticated] map [user-assertion.cloud.google.com:[AKUJVpkbsn ........

我不明白的是,为什么错误会带有“编号”用户帐户,而不是我通过身份验证的服务帐户。

我可以使用我自己的gmail帐户将ClusterRoleBinding添加到cluster-admin,使用我自己的帐户进行身份验证,然后创建新角色而不会出现问题,但是为服务帐户添加了clusterrolebinding,并且认证为该服务帐户似乎没有授予创建角色的权限。

有趣的是,我可以使用上面的错误中的编号帐户添加clusterrolebinding,这也有效,但不能帮助我编写设置脚本,因为我不知道该数字是提前的,也不是它的来源。

展开
收起
k8s小能手 2019-02-22 16:01:51 2541 0
1 条回答
写回答
取消 提交回答
  • 整合最优质的专家资源和技术资料,问答解疑

    帐户实际上是gclouds IAM控制台中服务帐户的“uniqueId”。不知道为什么它使用的服务帐户,但对于用户帐户,它使用电子邮件地址,但这是我现在使用的..

    CLUSTER_ADMIN_ID=gcloud iam service-accounts describe <my-service-account>@<my-project>.iam.gserviceaccount.com --format="value(uniqueId)"
    其次是

    kubectl create ClusterRoleBinding -cluster-admin --clusterrole=cluster-admin --user=$CLUSTER_ADMIN_ID
    这允许服务帐户现在管理群集。

    2019-07-17 23:29:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《用管控策略设定多账号组织全局访问边界》 立即下载
面向失败设计 立即下载
低代码开发师(初级)实战教程 立即下载