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

Kubernetes RBAC permissions - unknown 'clusterrole' flag when attempting to grant permissions?

我正在使用 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 版本上。

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

如果您的 kubectl 版本不支持该命令,您可以尝试通过 yaml 文件直接创建它(尽管我不确定 1.5.x kubectl 是否乐意提交 [=17 的版本=] 它不知道的对象):

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