4.4. 配置 Argo CD 与应用程序递归同步 Git 存储库
4.4.1. 通过部署带有集群配置的应用程序来配置 OpenShift 集群
使用 Red Hat OpenShift GitOps,您可以将 Argo CD 配置为将 Git 目录的内容与包含集群自定义配置的应用程序递归同步。
先决条件
- 在集群中安装了 Red Hat OpenShift GitOps。
4.4.1.1. 使用您的 OpenShift 凭证登录到 Argo CD 实例
Red Hat OpenShift GitOps Operator 会自动创建一个可用的 Argo CD 实例,可在 openshift-gitops
命名空间中使用。
先决条件
- 在集群中安装了 Red Hat OpenShift GitOps Operator。
流程
-
在 Web 控制台的 Administrator 视角中,导航到 Operators
Installed Operators,以验证是否安装了 Red Hat OpenShift GitOps Operator。 -
导航到
菜单
OpenShift GitOps Cluster Argo CD。Argo CD UI 的登录页面显示在新窗口中。 获取 Argo CD 实例的密码:
- 导航到 web 控制台的 Developer 视角。此时会显示可用项目列表。
-
导航到
openshift-gitops
项目。 - 使用左侧导航面板导航到 Secrets 页面。
- 选择 openshift-gitops-cluster 实例来显示密码。
- 复制密码。
-
使用此密码和
admin
作为用户名在新窗口中登录到 Argo CD UI。
4.4.1.2. 使用 Argo CD 仪表板创建应用程序
Argo CD 提供了一个仪表板,供您创建应用程序。
此示例工作流逐步指导您完成将 Argo CD 配置为递归将 cluster
目录中的内容同步到 cluster-configs-
应用程序。目录定义 OpenShift Container Platform Web 控制台集群配置,在 web 控制台的
菜单下添加指向 Red Hat Developer Blog - Kubernetes 的链接,并在集群中定义命名空间 spring-petclinic
。
流程
- 在 Argo CD 控制面板中,单击 NEW APP 以添加新 Argo CD 应用。
对于此工作流,使用以下配置创建一个 cluster-configs 应用程序:
- 应用程序名称
-
cluster-configs
- Project(项目)
-
default
- 同步策略
-
Manual
- 仓库 URL
-
https://github.com/redhat-developer/openshift-gitops-getting-started
- 修订
-
HEAD
- 路径
-
集群
- 目的地
-
https://kubernetes.default.svc
- 命名空间
-
spring-petclinic
- Directory Recurse
-
checked
- 单击 CREATE 以创建应用程序。
-
打开 Web 控制台的 Administrator 视角,并导航到左侧菜单中的 Administration
Namespaces。 -
搜索并选择命名空间,然后在 Label 字段中输入
argocd.argoproj.io/managed-by=openshift-gitops
,以便openshift-gitops
命名空间中的 Argo CD 实例可以管理您的命名空间。
4.4.1.3. 使用 oc
工具创建应用程序
您可以使用 oc
工具在终端中创建 Argo CD 应用程序。
流程
下载 示例应用程序:
$ git clone git@github.com:redhat-developer/openshift-gitops-getting-started.git
创建应用程序:
$ oc create -f openshift-gitops-getting-started/argo/cluster.yaml
运行
oc get
命令以查看所创建的应用程序:$ oc get application -n openshift-gitops
在部署应用程序的命名空间中添加标签,以便
openshift-gitops
命名空间中的 Argo CD 实例可以管理它:$ oc label namespace spring-petclinic argocd.argoproj.io/managed-by=openshift-gitops
4.4.1.4. 将应用程序与 Git 存储库同步
流程
- 在 Argo CD 仪表板中,cluster-configs Argo CD 应用程序的状态为 Missing 和 OutOfSync。因为应用程序配置了手动同步策略,所以 Argo CD 不会自动同步。
- 单击 cluster-configs 标题上的 SYNC,查看更改,然后单击 SYNCHRONIZE。Argo CD 将自动检测 Git 存储库中的任何更改。如果更改了配置,Argo CD 会将 cluster-configs 的状态改为 OutOfSync。您可以修改 Argo CD 的同步策略,以自动将 Git 存储库中的更改应用到集群。
- 现在,cluster-configs Argo CD 应用程序的状态为 Healthy 和 Synced。点 cluster-configs 标题检查同步资源的详情及其在集群中的状态。
- 导航到 OpenShift Container Platform Web 控制台并点 以验证现在是否存在到 Red Hat Developer Blog - Kubernetes 的链接。
导航到 Project 页面并搜索
spring-petclinic
命名空间,以验证它是否已添加到集群中。集群配置已成功与集群同步。