×

使用 Argo CD,您可以使用 Argo CD 仪表板或oc工具将应用程序部署到 OpenShift 容器平台集群。

使用 Argo CD 仪表板创建应用程序

Argo CD 提供了一个仪表板,允许您创建应用程序。

先决条件
  • 您已以管理员身份登录到 OpenShift 容器平台集群。

  • 您已在 OpenShift 容器平台集群上安装了 Red Hat OpenShift GitOps Operator。

  • 您已登录到 Argo CD 实例。

步骤
  1. 在 Argo CD 仪表板中,单击**新建应用程序**以添加新的 Argo CD 应用程序。

  2. 对于此工作流程,请使用以下配置创建一个**spring-petclinic**应用程序

    应用程序名称

    spring-petclinic

    项目

    default

    同步策略

    自动

    存储库 URL

    https://github.com/redhat-developer/openshift-gitops-getting-started

    版本

    HEAD

    路径

    app

    目标

    https://kubernetes.default.svc

    命名空间

    spring-petclinic

  3. 单击**创建**以创建您的应用程序。

  4. 打开 Web 控制台的**管理员**透视图,然后展开**管理**→**命名空间**。

  5. 搜索并选择命名空间,然后在**标签**字段中输入argocd.argoproj.io/managed-by=openshift-gitops,以便openshift-gitops命名空间中的Argo CD实例可以管理您的命名空间。

使用oc工具创建应用

您可以使用oc工具在终端中创建Argo CD应用。

先决条件
  • 您已在 OpenShift 容器平台集群上安装了 Red Hat OpenShift GitOps Operator。

  • 您已登录到Argo CD实例。

步骤
  1. 下载示例应用

    $ git clone [email protected]:redhat-developer/openshift-gitops-getting-started.git
  2. 创建应用

    $ oc create -f openshift-gitops-getting-started/argo/app.yaml
  3. 运行oc get命令查看已创建的应用

    $ oc get application -n openshift-gitops
  4. 为您的应用部署所在的命名空间添加标签,以便openshift-gitops命名空间中的Argo CD实例可以管理它

    $ oc label namespace spring-petclinic argocd.argoproj.io/managed-by=openshift-gitops

验证Argo CD自愈行为

Argo CD持续监控已部署应用的状态,检测Git中指定清单与集群中实时更改之间的差异,然后自动纠正它们。此行为称为自愈。

您可以测试和观察Argo CD的自愈行为。

先决条件
  • 您已在 OpenShift 容器平台集群上安装了 Red Hat OpenShift GitOps Operator。

  • 您已登录到Argo CD实例。

  • 示例应用app-spring-petclinic已部署并配置。

步骤
  1. 在Argo CD仪表板中,验证您的应用是否具有已同步状态。

  2. 单击Argo CD仪表板中的app-spring-petclinic磁贴以查看部署到集群的应用资源。

  3. 在OpenShift Container Platform Web控制台中,导航到**开发者**视角。

  4. 修改Spring PetClinic部署并提交更改到Git仓库的app/目录。Argo CD将自动将更改部署到集群。

    1. Fork OpenShift GitOps入门仓库

    2. deployment.yaml文件中,将failureThreshold值更改为5

    3. 在部署集群中,运行以下命令以验证failureThreshold字段的更改值

      $ oc edit deployment spring-petclinic -n spring-petclinic
  5. 通过修改集群上的部署并将其扩展到两个Pod来测试自愈行为,同时在OpenShift Container Platform Web控制台中观察应用程序。

    1. 运行以下命令修改部署

      $ oc scale deployment spring-petclinic --replicas 2  -n spring-petclinic
    2. 在OpenShift Container Platform Web控制台中,注意部署扩展到两个Pod,然后立即再次缩减到一个Pod。Argo CD检测到与Git仓库的差异,并自动修复了OpenShift Container Platform集群上的应用程序。

  6. 在Argo CD仪表板中,单击**app-spring-petclinic**磁贴→**应用详情**→**事件**。“事件”选项卡显示以下事件:Argo CD检测到集群上部署资源不同步,然后重新同步Git仓库以进行纠正。