创建 GitOps 原生应用

概述

利用 Alauda Container Platform GitOps 的应用管理能力,可视化创建 Argo CD ApplicationSet,通过 GitOps 原生应用 对容器化应用进行全面的生命周期管理。

前提条件

通过 Web 控制台创建 Argo CD 原生应用

通过可视化管理界面简化应用分发流程。

操作步骤

  1. Container Platform,然后导航到 GitOps 原生应用

  2. 点击 创建 GitOps 原生应用

  3. 基本信息代码仓库 部分配置参数:

参数描述
类型原生应用:Argo CD Application 对象,用于单命名空间部署
ApplicationSet:Argo CD ApplicationSet,用于跨集群/跨命名空间部署,并支持差异化配置
来源平台集成:预先配置的 GitLab/GitHub/Bitbucket 仓库
ArgoCD 集成:通过 Argo CD 集成的 GitLab/GitHub/Bitbucket/Gitee/Gitea 仓库。请参阅 通过 Argo CD 监控面板集成代码仓库
集成项目名称管理员分配的工具链项目
版本标识符部署依据:Branch/Tag/Commit
注意
  • Branch 使用最新提交
  • Tag/Commit 默认为最新,但可配置
源文件类型Kustomize:使用 kustomization.yaml 进行 overlay 配置;更多详情请参阅 Kustomize 官方文档
Helm:使用 values.yaml 进行模板化;更多详情请参阅 Helm 官方文档
Directory:原始 manifests
源目录包含基础 manifests 的仓库路径。支持选择根目录。该路径中的所有资源都将部署到目标集群
自定义值源文件类型Helm 时,可选择自定义 Helm Values 文件
  1. 目标 部分配置参数:

    • 原生应用:差异化配置不会修改源目录中的基础文件。

    • ApplicationSet:通过 差异化配置 进行多集群部署。

    注意差异化配置 不会修改 源目录 中的基础文件。

  2. 同步策略(3 分钟调谐间隔)。

    参数描述
    手动同步检测到漂移时需要用户确认。
    自动同步无需人工干预的自动调谐。
    同步忽略配置使用内置/自定义忽略模板进行配置,您可以 在 YAML 文件中查看同步忽略配置字段
    注意:自定义模板需要管理员配置。
  3. 点击 创建

INFO

手动同步说明:选择 立即同步 可立即部署,或选择 稍后同步 在详情页手动触发。

查看 YAML 文件中的同步忽略配置字段

配置同步忽略规则后,可通过以下方式验证:

  1. 导航到 GitOps 原生应用

  2. 选择目标应用

  3. 点击 Action > Update

  4. 查看 YAML 文件。

    ignoreDifferences: # The configuration actually ignored by the selected custom synchronization ignore configuration template
      - group: apps
        kind: Deployment
        jsonPointers:
          - /spec/replicas

通过 YAML 创建 Argo CD 原生应用

操作步骤

  1. Container Platform,然后导航到 GitOps 原生应用

  2. 点击 创建 GitOps 原生应用

  3. 切换到 YAML 选项卡。

  4. YAML 部分中,请参考以下 YAML 文件并配置相关信息。将 namespaceproject 替换为您自己的 namespace 和 project。

    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
      name: guestbook
      namespace: argocd # Replace with your own namespace
    spec:
      project: default # Replace with your own project
      source:
        repoURL: https://github.com/argoproj/argocd-example-apps.git
        targetRevision: master
        path: helm-guestbook
      destination:
        server: https://kubernetes.default.svc
        namespace: guestbook
      syncPolicy:
        automated:
          prune: true
          selfHeal: true
        syncOptions:
          - CreateNamespace=true
  5. 点击 创建

通过 CLI 创建 Argo CD 原生应用

前提条件

已安装 web-cli 插件,并启用 web-cli 开关。

kubectl apply -f application.yaml