1.7. 使用 GitOps CLI 在默认模式中创建应用程序
您可以使用 GitOps argocd
CLI 在默认模式中创建应用程序。
此示例工作流逐步指导您完成将 Argo CD 配置为递归将 cluster
目录中的内容同步到 cluster-configs-
应用程序。目录定义 OpenShift Container Platform 集群配置和集群中的 spring-petclinic
命名空间。
先决条件
- 您已在 OpenShift Container Platform 集群上安装了 Red Hat OpenShift GitOps Operator。
-
已安装 OpenShift CLI(
oc
)。 -
已安装 Red Hat OpenShift GitOps
argocd
CLI。 - 已登陆到 Argo CD 实例。
流程
获取 Argo CD 服务器的
admin
帐户密码:ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d)
$ ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 获取 Argo CD 服务器 URL:
SERVER_URL=$(oc get routes openshift-gitops-server -n openshift-gitops -o jsonpath='{.status.ingress[0].host}')
$ SERVER_URL=$(oc get routes openshift-gitops-server -n openshift-gitops -o jsonpath='{.status.ingress[0].host}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
admin
帐户密码以单引号登录到 Argo CD 服务器:重要将密码包含在单引号中,确保 shell 无法错误地解译特殊字符,如
$
。始终使用单引号括起密码的字面值。argocd login --username admin --password ${ADMIN_PASSWD} ${SERVER_URL}
$ argocd login --username admin --password ${ADMIN_PASSWD} ${SERVER_URL}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Example
argocd login --username admin --password '<password>' openshift-gitops.openshift-gitops.apps-crc.testing
$ argocd login --username admin --password '<password>' openshift-gitops.openshift-gitops.apps-crc.testing
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过列出所有应用程序,验证您是否可以在默认模式下运行
argocd
命令:argocd app list
$ argocd app list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果配置正确,则使用以下标头列出现有应用程序:
输出示例
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在默认模式中创建应用程序:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
spring-petclinic
目标命名空间标记为由openshif-gitops
Argo CD 实例管理:oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"
$ oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 列出可用的应用程序,以确认应用程序已创建成功:
argocd app list
$ argocd app list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 虽然
cluster-configs
Argo CD 应用程序具有Healthy
状态,但它不会因为没有
同步策略而自动同步,从而导致它保留在OutOfSync
状态。