如何使用OpenShift API创建持久卷
我正在构建一个OpenShift客户机,用于在集群上执行各种操作。我想让这个客户端创建一个持久卷。默认开发人员用户无法创建持久卷,但管理员可以。我试图找到在默认OpenShift源部署中创建持久卷的最佳方法,而不需要用户输入,只使用REST API,不使用任何如何使用OpenShift API创建持久卷,openshift,Openshift,我正在构建一个OpenShift客户机,用于在集群上执行各种操作。我想让这个客户端创建一个持久卷。默认开发人员用户无法创建持久卷,但管理员可以。我试图找到在默认OpenShift源部署中创建持久卷的最佳方法,而不需要用户输入,只使用REST API,不使用任何oc 我认为有两种可能的解决办法: 以用户管理员身份创建持久卷。但是,我不知道如何将API用作管理员,因为此用户帐户没有令牌。我试图检查oc日志,但无法反向工程它如何作为管理员进行身份验证 向user developer添加创建持久卷的权
oc
我认为有两种可能的解决办法:
- 以用户管理员身份创建持久卷。但是,我不知道如何将API用作管理员,因为此用户帐户没有令牌。我试图检查
日志,但无法反向工程它如何作为管理员进行身份验证oc
- 向user developer添加创建持久卷的权限。我希望避免这种情况,但如果真是这样,我愿意考虑这个解决方案。有人知道开发人员用户需要什么样的权限才能创建持久卷吗
如何仅使用OpenShift API创建持久卷?您可以为持久卷操作创建用户或服务帐户 需要的角色是集群角色,并且已有一个名为“系统:持久卷供应器”的现有角色
如果此群集角色的权限超出了您的需要,只需创建一个权限较低的群集角色。您可以创建一个用户或服务帐户以进行持久卷操作 需要的角色是集群角色,并且已有一个名为“系统:持久卷供应器”的现有角色 如果此群集角色的权限超过您的需要,只需创建一个权限较少的群集角色
$ oc get clusterrole/system:persistent-volume-provisioner -o yaml --as system:admin
apiVersion: authorization.openshift.io/v1
kind: ClusterRole
metadata:
annotations:
authorization.openshift.io/system-only: "true"
openshift.io/reconcile-protect: "false"
creationTimestamp: 2018-03-16T13:18:45Z
name: system:persistent-volume-provisioner
resourceVersion: "134"
selfLink: /apis/authorization.openshift.io/v1/clusterroles/system%3Apersistent-volume-provisioner
uid: 8e253e28-291c-11e8-b0f7-36c91e93ae8e
rules:
- apiGroups:
- ""
attributeRestrictions: null
resources:
- persistentvolumes
verbs:
- create
- delete
- get
- list
- watch
- apiGroups:
- ""
attributeRestrictions: null
resources:
- persistentvolumeclaims
verbs:
- get
- list
- update
- watch
- apiGroups:
- storage.k8s.io
attributeRestrictions: null
resources:
- storageclasses
verbs:
- get
- list
- watch
- apiGroups:
- ""
attributeRestrictions: null
resources:
- events
verbs:
- create
- list
- patch
- update
- watch