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 实例。

流程

  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}

    Example

    $ 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-cluster-configs \
        --repo https://github.com/redhat-developer/openshift-gitops-getting-started.git \
        --path cluster \
        --revision main \
        --dest-server  https://kubernetes.default.svc \
        --dest-namespace spring-petclinic \
        --directory-recurse \
        --sync-policy none \
        --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. 列出可用的应用程序,以确认应用程序已创建成功:

    $ argocd app list

    虽然 cluster-configs Argo CD 应用程序具有 Healthy 状态,但它不会 因为没有 同步策略而自动同步,从而导致它保留在 OutOfSync 状态。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.