如何在 OpenShift 中创建新角色?

How can you create a new role in OpenShift?

是否有可用于在 OpenShift 中创建或更新角色的 API 或命令行?我想创建一个新角色,以便服务帐户只能进行部署,但现在我被迫授予 "edit" 角色来完成此任务,这太过分了。

看起来应该很容易,但我找不到任何相关文档。

来自 Red Hat 的现有文档

演练:

Minishift 版本用于测试答案中的命令

oc v1.5.1+7b451fc
kubernetes v1.5.2+43a9be4
features: Basic-Auth

Server https://192.168.99.100:8443
openshift v1.5.1+7b451fc
kubernetes v1.5.2+43a9be4

创建新角色

yaml 文件中的新角色名为:exampleview.yaml

文件内容:

apiVersion: v1
kind: Role
metadata:
  name: exampleview
rules:
- apiGroups: null
  attributeRestrictions: null
  resources:
  - pods
  - builds
  verbs:
  - get
    - list
    - watch

在项目中创建角色

oc create -f exampleview.yaml -n myproject

授权说明!您必须具有授予额外特权的权限。在 minishift 中,您可以通过 运行:

轻松授予默认用户 'developer' 这些权限
oc adm policy --as system:admin add-cluster-role-to-user cluster-admin developer

创建后在 openshift 中描述角色

oc describe role exampleview

创建项目后从项目中删除角色

oc delete -f exampleview.yaml