kubernetes容器上禁止cronjobs.batch

Hol*_*ock 3 kubernetes

我是kubernetes管理的新手。尝试列出和设置新的cronjobs时,其中一位用户收到以下错误:

来自服务器的错误(禁止):禁止cronjobs.batch:用户无法在名称空间中列出cronjobs.batch

创建此用户时的角色:

kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  namespace: <user>
  name: <user>-role
rules:
- apiGroups: ["", "extensions", "apps"]
  resources: ["*"]
  verbs: ["*"]
Run Code Online (Sandbox Code Playgroud)

创建此用户时的角色绑定:

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: <user>-role-binding
  namespace: <user>
subjects:
- kind: User
  name: <user>
  apiGroup: ""
roleRef:
  kind: Role
  name: <user>-role
  apiGroup: ""
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?

hel*_*ert 5

Cronjob资源属于batchAPI组。在RBAC角色中,您仅授予对core(空名)extensionsappsAPI组的访问权限。

要使您的用户能够访问CronJob对象,请将该API组添加到您的RBAC角色中:

kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  namespace: <user>
  name: <user>-role
rules:
- apiGroups: ["", "extensions", "apps", "batch"]
  resources: ["*"]
  verbs: ["*"]
Run Code Online (Sandbox Code Playgroud)