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
创建PersistentVolume
通常是您应该不是手动进行的操作。理想情况下,您应该依赖PersistentVolumeClaims
。 PersistentVolumeClaims
是命名空间资源,您的服务帐户应该可以使用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