【问题标题】:How to create persistent volumes using OpenShift API如何使用 OpenShift API 创建持久卷
【发布时间】:2018-04-12 18:15:39
【问题描述】:

我正在构建一个 OpenShift 客户端,它使用 OpenShift's REST API 在集群上执行各种操作。我想让这个客户创建一个永久卷。默认开发人员用户无法创建持久卷,但管理员可以。我正在尝试找到在默认 OpenShift 源部署中创建持久卷的最佳方法,无需用户输入且仅使用 REST API,无需任何 oc 使用。

我看到了两种可能的解决方案:

  • 以用户 admin 的身份创建持久卷。但是,我无法弄清楚如何将 API 用作 admin,因为此用户帐户没有令牌。我已尝试检查 oc 日志,但无法对它如何以管理员身份进行身份验证进行逆向工程。
  • 为用户developer添加创建持久卷的权限。我想避免这种情况,但如果涉及到这一点,我愿意考虑这个解决方案。有谁知道开发者用户需要什么样的权限才能创建持久卷?

如何仅使用 OpenShift API 创建持久卷?

【问题讨论】:

    标签: openshift


    【解决方案1】:

    您可以为持久卷操作创建用户或服务帐户。

    需要的角色是集群角色,并且已经有一个名为“system:persistent-volume-provisioner”的现有角色

    $ 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
    

    如果此集群角色的权限超出您的需要,只需创建一个权限较少的角色即可。

    【讨论】:

      猜你喜欢
      • 2016-08-06
      • 1970-01-01
      • 1970-01-01
      • 2020-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      相关资源
      最近更新 更多