角色Openshift:允许回滚部署的早期版本,而无需更改它

角色Openshift:允许回滚部署的早期版本,而无需更改它,openshift,Openshift,我正在寻找一种解决方案,允许用户回滚以前版本的部署,而无需修改部署映像、环境变量、策略等 我试图为只使用CICD管道部署新版本的开发人员创建一个角色,但我希望他们能够在必要时返回 目前,该角色尤其是: - apiGroups: - "" - apps.openshift.io attributeRestrictions: null resources: - deploymentconfigs verbs: - get - list - watch - apiG

我正在寻找一种解决方案,允许用户回滚以前版本的部署,而无需修改部署映像、环境变量、策略等

我试图为只使用CICD管道部署新版本的开发人员创建一个角色,但我希望他们能够在必要时返回

目前,该角色尤其是:

- apiGroups:
  - ""
  - apps.openshift.io
  attributeRestrictions: null
  resources:
  - deploymentconfigs
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - ""
  - apps.openshift.io
  attributeRestrictions: null
  resources:
  - deploymentconfigs/scale
  verbs:
  - create
  - delete
  - deletecollection
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - ""
  - apps.openshift.io
  attributeRestrictions: null
  resources:
  - deploymentconfigrollbacks
  - deploymentconfigs/instantiate
  - deploymentconfigs/rollback
  verbs:
  - create
- apiGroups:
  - ""
  - apps.openshift.io
  attributeRestrictions: null
  resources:
  - deploymentconfigs/log
  - deploymentconfigs/status
  verbs:
  - get
  - list
  - watch
我得到以下错误:

$ oc rollback DC_NAME --to-version=19
Error from server (Forbidden): deploymentconfigs.apps.openshift.io "DC_NAME" is forbidden: User "foo" cannot update deploymentconfigs.apps.openshift.io in the namespace "NAMESPACE_NAME": User "foo" cannot update deploymentconfigs.apps.openshift.io in project "NAMESPACE_NAME"

如果我向ResourceDeploymentConfigs添加动词update,我没有任何错误,但是开发人员可以修改部署

你知道吗


谢谢

登录Openshift的用户具有哪种访问级别

首先,您需要使用下面的命令:

oc get rolebindings | grep your-username
您需要一个角色级别为edit或admin的用户才能运行rollback命令

oc get rolebindings | grep your-username