1.2. 使用 Argo CD 实例管理集群范围的资源
不要将 Argo CD 实例的权限提升为集群范围的,除非您具有不同的用例需要它。只有具有 cluster-admin
特权的用户才应管理您提升的实例。有权访问集群范围实例的任何人都可以提升其对集群的权限,使其具有集群管理员本身。
要管理集群范围的资源,请更新 Red Hat OpenShift GitOps Operator 的现有 Subscription
对象,并将 Argo CD 实例的命名空间添加到 spec
部分中的 ARGOCD_CLUSTER_CONFIG_NAMESPACES
环境变量中。
流程
-
在 Web 控制台的 Administrator 视角中,进入到 Operators
Installed Operators Red Hat OpenShift GitOps Subscription。 - 单击 Actions 列表,然后单击 Edit Subscription。
在 openshift-gitops-operator 订阅详情页面的 YAML 选项卡下,通过将 Argo CD 实例的命名空间添加到
spec
部分中的ARGOCD_CLUSTER_CONFIG_NAMESPACES
环境变量来编辑Subscription
YAML 文件:apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: openshift-gitops-operator namespace: openshift-gitops-operator # ... spec: config: env: - name: ARGOCD_CLUSTER_CONFIG_NAMESPACES value: openshift-gitops, <list of namespaces of cluster-scoped Argo CD instances> # ...
- 单击 Save and Reload。
要验证 Argo CD 实例是否已配置有集群角色来管理集群范围的资源,请执行以下步骤:
-
导航到 User Management
Roles,然后从 Filter 列表中选择 Cluster-wide Roles。 使用 Search by name 字段搜索
argocd-application-controller
。Roles 页面显示创建的集群角色。
提示或者,在 OpenShift CLI 中运行以下命令:
oc auth can-i create oauth -n openshift-gitops --as system:serviceaccount:openshift-gitops:openshift-gitops-argocd-application-controller
输出
yes
代表 Argo 实例配置了集群角色来管理集群范围的资源。否则,检查您的配置并根据需要执行必要的步骤。
-
导航到 User Management