Argo CD 介绍

发布时间: 更新时间: 总字数:632 阅读时间:2m 作者: 分享 复制网址

ArgoCD 是一个声明性(declarative)的、GitOps 的、轻松将应用程序部署到Kubernetes的连续交付工具。

介绍

  • ArgoCD 负责构建 CD Pipeline,一般与 Tekton 配合使用
  • ArgoCD 是一个可以将应用程序快速部署到 kubernetes 之上的 GitOps 工具

子项目

目前Argo包含多个子项目:

  • Argo Workflows:基于容器的任务编排工具
  • Argo CD:基于GitOps声明的持续交付工具
  • Argo Events:事件驱动工具
  • Argo Rollouts:支持金丝雀以及蓝绿发布的应用渐进式发布工具

工作流程

  • 以配置仓库(repository)为应用程序部署和管理的唯一可信源(定义 application 的期望状态)
  • Application Controller 负责将 repository(git) 中定义的 application 运行于指定的 Kubernetes Cluster 中
  • Application Controller 持续监视、对比运行状态是否和定义状态,确保和期望状态一致

核心

ArgoCD 有两个核心概念

  • Application:基于 Application CRD 实现,由如下部分组成:
    • 一组在 k8s 上部署和运行某应用的资源配置文件
    • 上述资源相关的 source 和 destination
      • source 定义获取该应用的资源配置文件的位置,有 git 仓库地址和目录组成
      • destination 定义被创建的应用运行目标,包括 k8s 的 cluster
    • Application CRD 中有两个重要的属性:
      • Sync Status:Application 在 k8s 的实际状态与 Git Repo 中定义的期望状态是否一致
        • Synced:一致
        • OutOfSync:不一致
      • Health Status:Application 的健康状态,由各资源的健康状态组成的聚合信息
        • Health:健康
        • Processing:部署中,通过和解循环尝试变更为 Health
        • Degraded:降级
        • Missing:缺失,未部署完成
  • Project:基于 AppProject CRD 实现

支持的配置管理工具:

参考

  1. https://argo-cd.readthedocs.io/en/stable/
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数