Openshift:用户“ system:serviceaccount: :jenkins”无法创建PV:RBAC:clusterrole.rbac.authorization.k8s.io“未找到”

问题描述 投票:2回答:1

Openshift / okd版本:3.11

我正在使用openshift目录中的jenkins-ephemeral应用,并使用buildconfig创建管道。参考:https://docs.okd.io/3.11/dev_guide/dev_tutorials/openshift_pipeline.html

[当我启动管道时,在詹金斯的阶段中,它需要创建一个持久卷,这时我收到了以下错误:

Error from server (Forbidden): persistentvolumes is forbidden: User "system:serviceaccount:pipelineproject:jenkins" cannot create persistentvolumes at the cluster scope: RBAC: clusterrole.rbac.authorization.k8s.io "create" not found

我已经尝试通过以下命令将集群创建角色赋予服务帐户詹金斯,但仍然收到相同的错误。

oc adm policy add-cluster-role-to-user create system:serviceaccount:pipelineproject:jenkins
jenkins openshift openshift-origin jenkins-job-dsl okd
1个回答
2
投票

创建PersistentVolume通常是您应该不是手动进行的操作。理想情况下,您应该依赖PersistentVolumeClaimsPersistentVolumeClaims是命名空间资源,您的服务帐户应该可以使用edit角色进行创建。

$ oc project pipelineproject
$ oc policy add-role-to-user edit -z jenkins

但是,如果需要直接与PersistentVolume对象进行交互,则应该有一个storage-admin ClusterRole应该能够为您的ServiceAccount赋予必要的权限。

$ oc project pipelineproject
$ oc adm policy add-cluster-role-to-user storage-admin -z jenkins
© www.soinside.com 2019 - 2024. All rights reserved.