1.4. 配置默认的 Argo CD 实例


虽然 Operator 在 openshift-gitops 命名空间中创建默认 Argo CD 实例,但您必须配置它,使其可用于部署应用程序并设置集群配置:

  • 配置基于角色的访问控制(RBAC): Argo CD 使用自己的 RBAC 配置。Operator 配置的默认权限可能不足,具体取决于用户已分配给的 OpenShift Container Platform 集群组。
  • 配置权限 :Operator 使用一组默认的 Kubernetes 权限配置默认实例。但是,这些权限在实时环境中部署应用程序时不足。因此,请确保为此默认实例提供额外的权限。

1.4.1. 配置 RBAC

您必须配置 RBAC,以提供对用户使用默认实例的足够访问权限。

实例的 defaultPolicy 是一个空字符串,这意味着没有自动分配角色。虽然用户可以登录实例,但它们没有查看任何权限,或者执行 Argo CD UI 或 CLI 中的任何任务。

实例包括以下两个组:

  • system:cluster-admins :组仅适用于临时 kube-admin 凭证,并可以忽略。
  • cluster-admins :您可以在此组中添加用户,使他们能够执行任务,如在 Argo CD web 控制台中部署应用程序。
注意

限制默认权限:

确保始终对 defaultPolicy 参数使用空字符串或 deny-all 类型的 role,因为其中授予的权限无法撤销。因此,不建议以授予权限的方式设置 defaultPolicy 参数。

前提条件

  • 有登录凭证,才能使用 cluster-admin 权限访问 OpenShift Container Platform 集群。
  • 已安装 oc CLI

流程

  1. 查看默认实例的 Operator 配置 RBAC:

    $ oc get argocd openshift-gitops -n openshift-gitops -o=jsonpath='{.spec.rbac}'
    Copy to Clipboard Toggle word wrap

    结果

    {"defaultPolicy":"","policy":"g, system:cluster-admins, role:admin\ng, cluster-admins, role:admin\n","scopes":"[groups]"}
    Copy to Clipboard Toggle word wrap

  2. 检查 cluster-admins 组是否存在:

    $ oc get groups
    Copy to Clipboard Toggle word wrap
  3. 执行以下步骤之一:

    • 如果组不存在,请创建它并将其添加到其中:

      $ oc adm groups new cluster-admins <user>
      Copy to Clipboard Toggle word wrap

      其中:

      <user>

      表示您要添加到组中的用户。

      输出示例

      group.user.openshift.io/cluster-admins created
      Copy to Clipboard Toggle word wrap

    • 如果组存在,请检查您的用户是否在之前运行 oc get groups 命令的输出中的一部分。如果您的用户不在组中,请将您的用户添加到组中:

      $ oc adm groups add-users cluster-admins <user>
      Copy to Clipboard Toggle word wrap

      其中:

      <user>

      表示您要添加到组中的用户。

      输出示例

      group.user.openshift.io/cluster-admins added: "<user>"
      Copy to Clipboard Toggle word wrap

验证

  • 验证组 cluster-admins 是否存在,并且您的用户是否是它的一部分:

    $ oc get groups cluster-admins
    Copy to Clipboard Toggle word wrap

    输出显示 cluster-admins 组,其中包含您的用户。

重要

创建或编辑 cluster-admins 组后,请确保退出 Argo CD web 控制台,然后再次登录,以便组与您的用户关联。检查 User Info 页面,以验证您的用户是否是 Argo CD 中的 cluster-admins 组的一部分。

1.4.2. 配置权限

虽然默认 Argo CD 实例会自动配置一组默认的 Kubernetes 权限,但您需要为其提供额外权限来部署集群配置所需的所有资源。相反,如果您需要为默认实例设置更严格的权限来仅部署特定资源,您可以通过额外的配置完成此操作。

注意

有关默认 Kubernetes 权限集合的更多信息,请参阅"添加资源"。

当将默认实例用于集群配置时,为 Argo CD 应用程序控制器服务帐户提供 cluster-admin 权限。要做到这一点,您可以为 openshift-gitops-argocd-application-controller 服务帐户创建一个 ClusterRoleBinding 对象,因为默认实例使用此帐户与 Kubernetes API 交互来部署资源。

前提条件

  • 您有登录凭证来访问带有 cluster-admin 权限的 OpenShift Container Platform 集群。
  • 已安装 oc CLI

流程

  • 运行以下命令:

    $ oc adm policy add-cluster-role-to-user --rolebinding-name="openshift-gitops-cluster-admin" cluster-admin -z openshift-gitops-argocd-application-controller -n openshift-gitops
    Copy to Clipboard Toggle word wrap

    输出示例

    clusterrole.rbac.authorization.k8s.io/cluster-admin added: "openshift-gitops-argocd-application-controller"
    Copy to Clipboard Toggle word wrap

验证

  • 查看创建的 ClusterRoleBinding 对象:

    $ oc get clusterrolebinding openshift-gitops-cluster-admin -o yaml
    Copy to Clipboard Toggle word wrap

    输出示例

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

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部