2.6. 在 Argo CD 中启用基于注解的资源跟踪
Red Hat OpenShift GitOps Operator 通过改进 Argo CD 中的基于注解的资源跟踪来增强多实例支持。在以前的版本中,多个 Argo CD 实例不会正确区分具有相同应用程序名称的资源,这只依赖于基于标签的传统跟踪。在这个版本中,您可以通过为每个实例分配一个唯一的 installationID
ID 来充分利用基于注解的跟踪。这可防止资源冲突,消除了无限同步循环,并启用安全并行操作。
您可以使用 OpenShift Container Platform Web 控制台执行以下操作:
- 设置多个 Argo CD 实例
- 将基于注解的跟踪与命名空间关联来配置基于注解的跟踪
- 验证部署
-
每个 Argo CD 实例都必须具有唯一的
installationID
ID,以防止资源跟踪冲突。 - 确保命名空间被正确标记,因为它允许每个 Argo CD 实例仅管理预期的资源。
-
如果多个实例具有相同的名称的应用程序,请将资源跟踪设置为
annotation+label
。 - 如果出现问题,请检查 Argo CD Application 状态并在 OpenShift Container Platform Web 控制台中记录。
2.6.1. 在多个 Argo CD 实例中配置基于注解的跟踪 复制链接链接已复制到粘贴板!
您可以在多个 Argo CD 实例中配置基于注解的跟踪。
此流程使用以下示例值:
-
repoURL
:https://github.com/redhat-developer/gitops-operator
-
server
:https://kubernetes.default.svc
执行这些步骤时,将 example 值替换为实际值。
先决条件
- 以管理员身份登录到 OpenShift Container Platform 集群。
- 您已在 OpenShift Container Platform 集群上安装了 Red Hat OpenShift GitOps Operator。
流程
- 登陆到 OpenShift Container Platform Web 控制台。
在 Web 控制台的 Administrator 视角中,点 Operators
Installed Operators。 - 在 Project 列表中,创建或选择您要安装用户定义的 Argo CD 实例的项目。
- 从安装的 Operator 列表中选择 Red Hat OpenShift GitOps,然后点击 Argo CD 选项卡。
要创建两个 Argo CD 实例,点 Create ArgoCD 并创建类似以下示例的两个 YAML 文件:
带有注解标签的第一个 Argo CD 实例示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 带有注解标签的第二个 Argo CD 实例示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置和标记目标命名空间,将命名空间与其 Argo CD 实例关联。
-
导航至 Administration
Namespaces。 -
为应用程序部署、
app-ns-1
和app-ns-2
创建命名空间。 将每个命名空间与其对应的 Argo CD 实例关联:
运行以下命令,将
app-ns-1
命名空间与argocd-test-demo-1
Argo CD 实例关联:示例命令
oc label namespace app-ns-1 argocd.argoproj.io/managed-by=argocd-test-demo-1
$ oc label namespace app-ns-1 argocd.argoproj.io/managed-by=argocd-test-demo-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,将
app-ns-2
命名空间与argocd-test-demo-2
Argo CD 实例关联:示例命令
oc label namespace app-ns-2 argocd.argoproj.io/managed-by=argocd-test-demo-2
$ oc label namespace app-ns-2 argocd.argoproj.io/managed-by=argocd-test-demo-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
导航至 Administration
在 Argo CD 中创建两个应用程序。
-
在 OpenShift Container Platform Web 控制台中,进入 Operators
Installed Operators OpenShift GitOps Operator。 - 选择 Argo CD 并导航到 Applications 选项卡。
- 点 Create Application。
输入以下 YAML 片段在 Argo CD 中创建两个应用程序。
使用 Argo CD 的第一个应用程序示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 Argo CD 的第二个应用程序示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
在 OpenShift Container Platform Web 控制台中,进入 Operators
验证
-
在 OpenShift Container Platform Web 控制台中进入到 Workloads
Pods。 -
确保 Argo CD 实例的 pod
argocd-instance-demo-1
和argocd-instance-demo-2
正在运行。 - 在 Argo CD Applications YAML 选项卡中检查应用程序同步状态。
-
进入
argocd-test-demo-1
和argocd-test-demo-2
命名空间中的argocd-cm
配置映射,并验证installationID
对象是否已成功配置。