2.3. 自定义集群范围的实例的权限


作为集群管理员,若要自定义集群范围的实例的权限,您必须为 GitOps control plane 组件创建新的集群角色和集群角色绑定。

例如,以下说明仅侧重于用户定义的集群范围的实例。

流程

  1. 打开 Web 控制台的 Administrator 视角,再进入 User Management Roles Create Role
  2. 使用以下 ClusterRole YAML 模板来添加规则来指定额外权限。

    集群角色 YAML 模板示例

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: example-spring-petclinic-argocd-application-controller 
    1
    
    rules:
      - verbs:
          - get
          - list
          - watch
        apiGroups:
          - '*'
        resources:
          - '*'
      - verbs:
          - '*'
        apiGroups:
          - ''
        resources: 
    2
    
          - namespaces
          - persistentvolumes
    Copy to Clipboard Toggle word wrap

    1
    根据 <argocd_name>-<argocd_namespace>-<control_plane_component> 命名规则的集群角色名称。
    2
    要在集群级别授予权限的资源。
  3. Create 添加集群角色。
  4. 通过执行以下步骤查找您要自定义权限的 control plane 组件使用的服务帐户:

    1. 进入 Workloads Pods
    2. Project 列表中,选择安装用户定义的集群范围实例的项目。
    3. 点 control plane 组件的 pod,再进入 YAML 选项卡。
    4. 找到 spec.ServiceAccount 字段并记录服务帐户。
  5. 进入 User Management RoleBindings Create binding
  6. Create binding
  7. Binding type 选择为 Cluster-wide role binding(ClusterRoleBinding)
  8. 按照 <argocd_ name>-<argocd_namespace>-<control_plane_component> 命名约定输入 RoleBinding 名称的唯一值。
  9. Role name 的下拉列表中,选择新创建的集群角色。
  10. 选择 Subject 作为 ServiceAccount,并提供 Subject 命名空间名称

    1. 主题命名空间spring-petclinic
    2. 主题名称:example-argocd-application-controller

      注意

      对于 Subject name,请确保配置的值与您要自定义权限的 control plane 组件的 spec.ServiceAccount 字段的值相同。

  11. Create

    您已为 control plane 组件的服务帐户和命名空间创建了所需的权限。ClusterRoleBinding 对象的 YAML 文件类似以下示例:

    集群角色绑定的 YAML 文件示例

    kind: ClusterRoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: example-spring-petclinic-argocd-application-controller
    subjects:
      - kind: ServiceAccount
        name: example-argocd-application-controller
        namespace: spring-petclinic
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: example-spring-petclinic-argocd-application-controller
    Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat