×

使用 Argo CD,您可以使用 GitOps `argocd` CLI 在 OpenShift Container Platform 集群上创建应用程序。

使用 GitOps CLI 在默认模式下创建应用程序

您可以使用 GitOps `argocd` CLI 在默认模式下创建应用程序。

先决条件
  • 您已在 OpenShift Container Platform 集群上安装了 Red Hat OpenShift GitOps Operator。

  • 您已安装 OpenShift CLI (`oc`)。

  • 您已安装 Red Hat OpenShift GitOps `argocd` CLI。

  • 您已登录到 Argo CD 实例。

步骤
  1. 获取 Argo CD 服务器的 `admin` 帐户密码

    $ ADMIN_PASSWD=$(oc get secret openshift-gitops-cluster -n openshift-gitops -o jsonpath='{.data.admin\.password}' | base64 -d)
  2. 获取 Argo CD 服务器 URL

    $ SERVER_URL=$(oc get routes openshift-gitops-server -n openshift-gitops -o jsonpath='{.status.ingress[0].host}')
  3. 使用 `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
  4. 通过列出所有应用程序来验证您是否能够在默认模式下运行 `argocd` 命令

    $ argocd app list

    如果配置正确,则现有应用程序将以以下标题列出

    示例输出
    NAME CLUSTER NAMESPACE  PROJECT  STATUS  HEALTH   SYNCPOLICY  CONDITIONS  REPO PATH TARGET
  5. 在默认模式下创建应用程序

    $ 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
  6. 将 `spring-petclinic` 目标命名空间标记为由 `openshif-gitops` Argo CD 实例管理

    $ oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"
  7. 列出可用的应用程序以确认应用程序已成功创建,并重复该命令,直到应用程序具有 `Healthy` 和 `Synced` 状态。

    $ argocd app list

使用 GitOps CLI 在核心模式下创建应用程序

您可以使用 GitOps `argocd` CLI 在 `core` 模式下创建应用程序。

先决条件
  • 您已在 OpenShift Container Platform 集群上安装了 Red Hat OpenShift GitOps Operator。

  • 您已安装 OpenShift CLI (`oc`)。

  • 您已安装 Red Hat OpenShift GitOps `argocd` CLI。

步骤
  1. 使用oc 命令行工具登录 OpenShift Container Platform 集群

    $ oc login -u <username> -p <password> <server_url>
    示例
    $ oc login -u kubeadmin -p '<password>' https://api.crc.testing:6443
  2. 检查kubeconfig 文件中上下文设置是否正确

    $ oc config current-context
  3. 将当前上下文的默认命名空间设置为openshift-gitops

    $ oc config set-context --current --namespace openshift-gitops
  4. 设置以下环境变量以覆盖 Argo CD 组件名称

    $ export ARGOCD_REPO_SERVER_NAME=openshift-gitops-repo-server
  5. 通过列出所有应用程序,验证您是否能够在core模式下运行argocd命令

    $ argocd app list --core

    如果配置正确,则现有应用程序将以以下标题列出

    示例输出
    NAME CLUSTER NAMESPACE  PROJECT  STATUS  HEALTH   SYNCPOLICY  CONDITIONS  REPO PATH TARGET
  6. 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
  7. 将 `spring-petclinic` 目标命名空间标记为由 `openshif-gitops` Argo CD 实例管理

    $ oc label ns spring-petclinic "argocd.argoproj.io/managed-by=openshift-gitops"
  8. 列出可用的应用程序以确认应用程序已成功创建,并重复该命令,直到应用程序具有 `Healthy` 和 `Synced` 状态。

    $ argocd app list --core