deployments.apps被禁止:用户“system:serviceaccount:default:default”无法在命名空间中创建deployments.apps

时间:2018-03-08 13:06:11

标签: kubernetes

网址:/ apis / apps / v1 / namespaces / diyclientapps / deployments

  

)   “{” 种 “:” 状态 “ ”apiVersion“: ”V1“, ”元数据“:{}, ”状态“: ”失败“, ”消息“:” deployments.apps   禁止使用:用户\“system:serviceaccount:default:default \”不能   在命名空间中创建deployments.apps   \ “\ diyclientapps””, “理由”: “禁止”, “详细信息”:{ “组”: “应用程序”, “种类”: “部署”}, “代码”:403}

尝试通过Kubernetes REST API创建部署时,我遇到了上述错误。

为什么呢?我不明白错误信息......

这发生在自定义Kubernetes集群上......以上在本地Minikube实例上正常工作。

我可以通过以下方式成功创建部署:kubectl run hello-minikube --image=k8s.gcr.io/echoserver:1.4 --port=8080

2 个答案:

答案 0 :(得分:2)

警告:这允许任何具有秘密读取权限的用户或能够创建窗格以访问超级用户凭据的用户。

kubectl create clusterrolebinding serviceaccounts-cluster-admin \
  --clusterrole=cluster-admin \
  --group=system:serviceaccounts

https://kubernetes.io/docs/admin/authorization/rbac/

答案 1 :(得分:1)

It likely worked on minikube because it set up a permissive (insecure) policy for you.

See https://kubernetes.io/docs/admin/authorization/rbac/#service-account-permissions for information about granting permissions to service accounts.

Default RBAC policies grant scoped permissions to control-plane components, nodes, and controllers, but grant no permissions to service accounts outside the “kube-system” namespace (beyond discovery permissions given to all authenticated users).