第 10 章 配置特定的集群管理角色

安装 Red Hat Advanced Cluster Management for Kubernetes 时,默认配置在 Red Hat Advanced Cluster Management hub 集群上提供 cluster-admin 角色。此权限允许您在 hub 集群中创建、管理和导入受管集群。在某些情况下,您可能想要限制对由 hub 集群管理的某些受管集群的访问,而不是提供对 hub 集群上所有受管集群的访问。

您可以通过定义集群角色并将其应用到用户或组来限制对特定受管集群的访问。完成以下步骤以配置和应用角色:

  1. 通过创建包含以下内容的 YAML 文件来定义集群角色:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: <clusterrole-name>
    rules:
    - apiGroups:
      - cluster.open-cluster-management.io
      resources:
      - managedclusters
      resourceNames:
      - <managed-cluster-name>
      verbs:
      - get
      - list
      - watch
      - update
      - delete
      - deletecollection
      - patch
    - apiGroups:
      - cluster.open-cluster-management.io
      resources:
      - managedclusters
      verbs:
      - create
    - apiGroups:
      - ""
      resources:
      - namespaces
      resourceNames:
      - <managed-cluster-name>
      verbs:
      - create
      - get
      - list
      - watch
      - update
      - delete
      - deletecollection
      - patch
    - apiGroups:
      - register.open-cluster-management.io
      resources:
      - managedclusters/accept
      verbs:
      - update

    clusterrole-name 替换为您要创建的集群角色的名称。

    managed-cluster-name 替换为您希望用户有权访问的受管集群的名称。

  2. 输入以下命令应用 clusterrole 定义:

    oc apply <filename>

    filename 替换为您在上一步中创建的 YAML 文件的名称。

  3. 输入以下命令将 clusterrole 绑定到指定用户或组:

    oc adm policy add-cluster-role-to-user <clusterrole-name> <username>

    clusterrole-name 替换为您在上一步中应用的集群角色的名称。使用您要将集群角色绑定的用户名替换 username