Kubernetes RBAC权限 - 尝试授予权限时未知'clusterrole'标志?

时间:2018-01-26 00:29:44

标签: kubernetes containers rbac

我正在使用Mirantis kubeadm-dind-cluster存储库(https://github.com/Mirantis/kubeadm-dind-cluster)作为我的Kubernetes安装;我在尝试运行容器时遇到了这个错误 -

panic: customresourcedefinitions.apiextensions.k8s.io is forbidden: User "system:serviceaccount:default:default" cannot create customresourcedefinitions.apiextensions.k8s.io at the cluster scope

所以我尝试将群集管理员权限添加到我的帐户:

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

并收到以下错误:

Error: unknown flag: --clusterrole

这是为什么?我该如何解决这个问题或绕过它呢?我不知道如何将命令转换为YAML文件到“kubectl create -f”,但似乎可能是这样的。

所有三个节点都是1.8.6版本。

1 个答案:

答案 0 :(得分:2)

您使用的是什么版本的kubectl?确保使用的是包含kubectl create clusterrolebinding命令

的版本

如果您的kubectl版本不支持该命令,您可以尝试直接通过yaml文件创建它(虽然我不确定1.5.x kubectl是否很高兴提交它不知道的API对象版本) :

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: serviceaccounts-cluster-admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- apiGroup: rbac.authorization.k8s.io
  kind: Group
  name: system:serviceaccounts