$ ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d)
使用 Argo CD,您可以使用 GitOps `argocd` CLI 在 OpenShift Container Platform 集群上创建应用程序。
您可以使用 GitOps `argocd` CLI 在默认模式下创建应用程序。
您已在 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)
获取 Argo CD 服务器 URL
$ SERVER_URL=$(oc get routes openshift-gitops-server -n openshift-gitops -o jsonpath='{.status.ingress[0].host}')
使用 `admin` 帐户密码登录 Argo CD 服务器,并将其用单引号括起来
用单引号括住密码可以确保特殊字符(例如 `$`)不会被 shell 错误解释。始终使用单引号括住密码的字面值。 |
$ argocd login --username admin --password ${ADMIN_PASSWD} ${SERVER_URL}
$ argocd login --username admin --password '<password>' openshift-gitops.openshift-gitops.apps-crc.testing
通过列出所有应用程序来验证您是否能够在默认模式下运行 `argocd` 命令
$ argocd app list
如果配置正确,则现有应用程序将以以下标题列出
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET
在默认模式下创建应用程序
$ argocd app create app-spring-petclinic \
--repo https://github.com/redhat-developer/openshift-gitops-getting-started.git \
--path app \
--revision main \
--dest-server https://kubernetes.default.svc \
--dest-namespace spring-petclinic \
--directory-recurse \
--sync-policy automated \
--self-heal \
--sync-option Prune=true \
--sync-option CreateNamespace=true
将 `spring-petclinic` 目标命名空间标记为由 `openshif-gitops` Argo CD 实例管理
$ oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"
列出可用的应用程序以确认应用程序已成功创建,并重复该命令,直到应用程序具有 `Healthy` 和 `Synced` 状态。
$ argocd app list
您可以使用 GitOps `argocd` CLI 在 `core` 模式下创建应用程序。
您已在 OpenShift Container Platform 集群上安装了 Red Hat OpenShift GitOps Operator。
您已安装 OpenShift CLI (`oc`)。
您已安装 Red Hat OpenShift GitOps `argocd` CLI。
使用oc
命令行工具登录 OpenShift Container Platform 集群
$ oc login -u <username> -p <password> <server_url>
$ oc login -u kubeadmin -p '<password>' https://api.crc.testing:6443
检查kubeconfig
文件中上下文设置是否正确
$ oc config current-context
将当前上下文的默认命名空间设置为openshift-gitops
$ oc config set-context --current --namespace openshift-gitops
设置以下环境变量以覆盖 Argo CD 组件名称
$ export ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server
通过列出所有应用程序,验证您是否能够在core
模式下运行argocd
命令
$ argocd app list --core
如果配置正确,则现有应用程序将以以下标题列出
NAME CLUSTER NAMESPACE PROJECT STATUS HEALTH SYNCPOLICY CONDITIONS REPO PATH TARGET
在core
模式下创建一个应用程序
$ argocd app create app-spring-petclinic --core \
--repo https://github.com/redhat-developer/openshift-gitops-getting-started.git \
--path app \
--revision main \
--dest-server https://kubernetes.default.svc \
--dest-namespace spring-petclinic \
--directory-recurse \
--sync-policy automated \
--self-heal \
--sync-option Prune=true \
--sync-option CreateNamespace=true
将 `spring-petclinic` 目标命名空间标记为由 `openshif-gitops` Argo CD 实例管理
$ oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"
列出可用的应用程序以确认应用程序已成功创建,并重复该命令,直到应用程序具有 `Healthy` 和 `Synced` 状态。
$ argocd app list --core