Kubernetes 如何提供卷(第二部分)?

Kubernetes 如何提供卷(第二部分)?,kubernetes,volume,persistent-volume-claims,Kubernetes,Volume,Persistent Volume Claims,我正在尝试配置RBAC,以便可以配置卷。这是这个()线程的后续。添加角色将错误从“无法获取资源”更改为“无法创建资源” 我现在认为这是一个库伯尼特斯的问题,但仍然不知道如何解决它 错误: Error from server (Forbidden): error when creating "/tmp/manifest.yaml": persistentvolumeclaims is forbidden: User "system:serviceaccount:arg

我正在尝试配置RBAC,以便可以配置卷。这是这个()线程的后续。添加角色将错误从“无法获取资源”更改为“无法创建资源”

我现在认为这是一个库伯尼特斯的问题,但仍然不知道如何解决它

错误:

Error from server (Forbidden): error when creating "/tmp/manifest.yaml": persistentvolumeclaims is forbidden: User "system:serviceaccount:argo:argo" cannot create resource "persistentvolumeclaims" in API group "" in the namespace "argo" 
亚马尔

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: workflow
  namespace: argo
rules:
- apiGroups:
  - ""
  resources:
  - pods
  verbs:
  - get
  - list
  - watch
  - create
  - update
  - patch
  - delete
- apiGroups:
  - ""
  resources:
  - pods/log
  verbs:
  - get
  - list
  - watch
  - create
  - update
  - patch
  - delete
- apiGroups:
  - ""
  resources:
   - persistentvolumeclaims
  verbs:
  - get
  - list
  - watch
  - create
  - update
  - patch
  - delete

RBAC auth规则配置有K8s资源,可分为两组:

  • Roles
    ClusterRole
    指定可以使用哪些动词/动作 在哪些资源上执行
  • RoleBindings
    ClusterRoleBindings
    将上述角色绑定到 特定用户、组或服务帐户
在您的案例中,您成功创建了
角色
,但您缺少的是
角色索引
,简而言之,谁可以执行您已经指定的操作

可以使用yaml文件创建角色绑定:

apiVersion:rbac.authorization.k8s.io/v1 种类:RoleBinding 元数据: 名称:工作流argo 名称空间:argo 学科: #您可以指定多个“主题” -种类:用户 name:jane#“name”区分大小写 apiGroup:rbac.authorization.k8s.io roleRef: #使用“roleRef”指定与角色/ClusterRole的绑定 种类:角色 名称:工作流#此处您必须引用您的角色名称 apiGroup:rbac.authorization.k8s.io 或使用命令:

kubectl create rolebinding workflow-argo --clusterrole=workflow --user=jane --namespace=argo
有关更多信息,请查看K8s部分: