$ git clone [email protected]:redhat-developer/openshift-gitops-getting-started.git
使用 Argo CD,您可以使用 Argo CD 仪表板或oc
工具将应用程序部署到 OpenShift 容器平台集群。
Argo CD 提供了一个仪表板,允许您创建应用程序。
您已以管理员身份登录到 OpenShift 容器平台集群。
您已在 OpenShift 容器平台集群上安装了 Red Hat OpenShift GitOps Operator。
您已登录到 Argo CD 实例。
在 Argo CD 仪表板中,单击**新建应用程序**以添加新的 Argo CD 应用程序。
对于此工作流程,请使用以下配置创建一个**spring-petclinic**应用程序
spring-petclinic
default
自动
https://github.com/redhat-developer/openshift-gitops-getting-started
HEAD
app
spring-petclinic
单击**创建**以创建您的应用程序。
打开 Web 控制台的**管理员**透视图,然后展开**管理**→**命名空间**。
搜索并选择命名空间,然后在**标签**字段中输入argocd.argoproj.io/managed-by=openshift-gitops
,以便openshift-gitops
命名空间中的Argo CD实例可以管理您的命名空间。
oc
工具创建应用您可以使用oc
工具在终端中创建Argo CD应用。
您已在 OpenShift 容器平台集群上安装了 Red Hat OpenShift GitOps Operator。
您已登录到Argo CD实例。
下载示例应用
$ git clone [email protected]:redhat-developer/openshift-gitops-getting-started.git
创建应用
$ oc create -f openshift-gitops-getting-started/argo/app.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
Argo CD持续监控已部署应用的状态,检测Git中指定清单与集群中实时更改之间的差异,然后自动纠正它们。此行为称为自愈。
您可以测试和观察Argo CD的自愈行为。
您已在 OpenShift 容器平台集群上安装了 Red Hat OpenShift GitOps Operator。
您已登录到Argo CD实例。
示例应用app-spring-petclinic
已部署并配置。
在Argo CD仪表板中,验证您的应用是否具有已同步
状态。
单击Argo CD仪表板中的app-spring-petclinic
磁贴以查看部署到集群的应用资源。
在OpenShift Container Platform Web控制台中,导航到**开发者**视角。
修改Spring PetClinic部署并提交更改到Git仓库的app/
目录。Argo CD将自动将更改部署到集群。
Fork OpenShift GitOps入门仓库。
在deployment.yaml
文件中,将failureThreshold
值更改为5
。
在部署集群中,运行以下命令以验证failureThreshold
字段的更改值
$ oc edit deployment spring-petclinic -n spring-petclinic
通过修改集群上的部署并将其扩展到两个Pod来测试自愈行为,同时在OpenShift Container Platform Web控制台中观察应用程序。
运行以下命令修改部署
$ oc scale deployment spring-petclinic --replicas 2 -n spring-petclinic
在OpenShift Container Platform Web控制台中,注意部署扩展到两个Pod,然后立即再次缩减到一个Pod。Argo CD检测到与Git仓库的差异,并自动修复了OpenShift Container Platform集群上的应用程序。
在Argo CD仪表板中,单击**app-spring-petclinic**磁贴→**应用详情**→**事件**。“事件”选项卡显示以下事件:Argo CD检测到集群上部署资源不同步,然后重新同步Git仓库以进行纠正。