2.5. 配置基于角色的权限


以下流程提供有关如何为红帽构建的 Kueue 部署配置基于角色的访问控制(RBAC)的信息。这些 RBAC 权限决定了哪些类型的用户可以创建哪些类型的红帽构建的 Kueue 对象。

2.5.1. 集群角色

Kueue Operator 的红帽构建会默认部署 kue-batch-admin-rolekueue-batch-user-role 集群角色。

kueue-batch-admin-role
此集群角色包括管理集群队列、本地队列、工作负载和资源类别的权限。
kueue-batch-user-role
此集群角色包含管理作业以及查看本地队列和工作负载的权限。

2.5.2. 为批处理管理员配置权限

您可以通过将 kue-batch-admin-role 集群角色绑定到用户或组来配置批处理管理员的权限。

先决条件

  • 在集群中安装了 Red Hat build of Kueue Operator。
  • 有集群管理员权限。
  • 已安装 OpenShift CLI(oc)。

流程

  1. ClusterRoleBinding 对象创建为 YAML 文件:

    ClusterRoleBinding 对象示例

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRoleBinding
    metadata:
      name: kueue-admins 
    1
    
    subjects: 
    2
    
    - kind: User
      name: admin@example.com
      apiGroup: rbac.authorization.k8s.io
    roleRef: 
    3
    
      kind: ClusterRole
      name: kueue-batch-admin-role
      apiGroup: rbac.authorization.k8s.io
    Copy to Clipboard Toggle word wrap

    1
    ClusterRoleBinding 对象提供名称。
    2
    添加您要为其提供用户权限的用户或组的详情。
    3
    添加 kue-batch-admin-role 集群角色的详细信息。
  2. 应用 ClusterRoleBinding 对象:

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

验证

  • 您可以运行以下命令来验证 ClusterRoleBinding 对象是否已正确应用,并验证输出是否包含 kue-batch-admin-role 集群角色的正确信息:

    $ oc describe clusterrolebinding.rbac
    Copy to Clipboard Toggle word wrap

    输出示例

    ...
    Name:         kueue-batch-admin-role
    Labels:       app.kubernetes.io/name=kueue
    Annotations:  <none>
    Role:
      Kind:  ClusterRole
      Name:  kueue-batch-admin-role
    Subjects:
      Kind            Name                      Namespace
      ----            ----                      ---------
      User            admin@example.com         admin-namespace
    ...
    Copy to Clipboard Toggle word wrap

2.5.3. 为用户配置权限

您可以通过将 kue-batch-user-role 集群角色绑定到用户或组,为红帽构建的 Kueue-batch-user-role 集群角色配置权限。

先决条件

  • 在集群中安装了 Red Hat build of Kueue Operator。
  • 有集群管理员权限。
  • 已安装 OpenShift CLI(oc)。

流程

  1. RoleBinding 对象创建为 YAML 文件:

    ClusterRoleBinding 对象示例

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: kueue-users 
    1
    
      namespace: user-namespace 
    2
    
    subjects: 
    3
    
    - kind: Group
      name: team-a@example.com
      apiGroup: rbac.authorization.k8s.io
    roleRef: 
    4
    
      kind: ClusterRole
      name: kueue-batch-user-role
      apiGroup: rbac.authorization.k8s.io
    Copy to Clipboard Toggle word wrap

    1
    RoleBinding 对象提供名称。
    2
    添加 RoleBinding 对象应用到的命名空间的详细信息。
    3
    添加您要为其提供用户权限的用户或组的详情。
    4
    添加 kue-batch-user-role 集群角色的详细信息。
  2. 应用 RoleBinding 对象:

    $ oc apply -f <filename>.yaml
    Copy to Clipboard Toggle word wrap

验证

  • 您可以运行以下命令来验证 RoleBinding 对象是否已正确应用,并验证输出是否包含 kue-batch-admin-role 集群角色的正确信息:

    $ oc describe rolebinding.rbac
    Copy to Clipboard Toggle word wrap

    输出示例

    ...
    Name:         kueue-users
    Labels:       app.kubernetes.io/name=kueue
    Annotations:  <none>
    Role:
      Kind:  ClusterRole
      Name:  kueue-batch-user-role
    Subjects:
      Kind            Name                      Namespace
      ----            ----                      ---------
      Group           team-a@example.com        user-namespace
    ...
    Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat