创建群集机,因为默认计算服务帐户失败,并且额外的特权错误



我正在尝试在一个私有群集中创建一个新的聚类,我正在从跳箱中管理,但不断击中"禁止:尝试授予额外的特权"错误。

我用GCLOUD作为默认的计算服务帐户进行身份验证,这具有Kubernetes Engine Admin角色。

我使用

为GCLOUD服务帐户创建了一个群集角色
kubectl create ClusterRoleBinding sa-admin-binding --ClusterRole=cluster-admin --User=xxxxxxxx-service-account@xxxx.developer.gserviceaccount.com

当我尝试创建群集角色时,我会收到以下错误。

服务器中的错误(Forbidden):创建" room.yml"时错误: clusterroles.rbac.authorization.k8s.io" pod-viewer"是禁止的: 尝试授予额外的特权:[{[list] [] [pods] [] [] []}] user =& { 11526848230004182284 [系统:验证] 地图[user-Assertion.cloud.google.com:[akujvpkbsn ........

我不明白的是为什么错误带有一个"编号"用户帐户,而不是我认证的服务帐户。

我可以使用我自己的Gmail帐户将colletrolebinding添加到集群 - admin,使用我自己的帐户进行身份验证,然后毫无问题地创建新角色,但为服务帐户添加clusterroleblecning,并进行身份验证,因为该服务帐户没有该服务帐户似乎授予创建角色的权限。

有趣的是,我可以在上面的错误中使用编号帐户添加complusterRolebinding,并且也有效,但没有帮助我脚本脚本脚本设置,因为我不知道该号码是预先的,也不来自何处。<<<<<<<<<<<<<</p>

好吧...我后来发现该编号帐户实际上是gclouds iam Console中服务帐户的'uniquerID'。不确定为什么要使用它的服务帐户,但是对于用户帐户,它使用了电子邮件地址,但这是我现在正在使用的。

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

接着

kubectl create ClusterRoleBinding <mybinding>-cluster-admin --clusterrole=cluster-admin --user=$CLUSTER_ADMIN_ID

这允许服务帐户现在管理集群。

最新更新