GitOps 介绍

发布时间: 更新时间: 总字数:722 阅读时间:2m 作者: IP上海 分享 网址

gitops是一种实现云原生应用持续部署的方法。通过使用开发人员已经熟悉的工具(包括GitCD工具),它关注于以开发人员为中心的操作基础设施的体验。

介绍

GitOps 的核心思想是应用程序声明式编排、甚至基础架编排存放到 git 源仓库中,GitOps 模型中存在两个Git仓库:

  • Code Repo,代码仓库,开发人员保存项目代码
  • Config Repo,配置仓库,运维人员维护配置变更(包括基础设施配置以及应用配置)

GitOps 交付模型:

  • 基础条件
    • 声明式容器编排
    • 不可变基础设施
  • 特征
    • Git 作为应用变更的唯一入口
    • pull 式流水线
    • 可观测性
  • 工作流程
    • 应用管理员将应用/变更提交到 Git
    • GitOps 引擎定期检测 Git 端应用,若更新则开始 pull 式流水线
    • GitOps 引擎获取应用更新并交付到实际运行环境
    • GitOps 引擎定期检查实际运行状态和 Git 中声明式定义差异(和解循环),并报警或自处理
  • 优点
    • 应用运维效率提升
    • 研发效能提高
    • 更快的平均恢复时间
    • 安全、审计

两种模式

基于 Git Push 部署

该模式下,以git仓库的event为驱动(事件驱动),触发CD流程

  • 传统的 CI/CD 构建都是基于 Push 的模型,由 CI 接收事件并开始一系列的处理

基于 Git Pull 部署

该模式下,以运维人员触发CD流程,CD工具从git仓库拉取代码并部署。

GitOps 工具集

  • Git 和 Git Server(GitHub、GitLab、Gitee、Gitea等)
  • CI Server:CI Pipeline 的基础设施,如 Jenkins、Dron、Tekton
  • Deploy Operator:CD Pipeline 的基础组件,GitOps 中的解决方案包括:
    • ArgoCD
    • Jenkins X
    • Flux
    • Gitkube等
  • Canary Deployer
    • Flux 提供的名为 Flagger 的 Kubernetes Operator 支持金丝雀发布

其它

  • FinOps(Finance DevOps) 中文为 云财务管理云财务工程云成本管理云优化云财务优化 等,参考
    • FinOps 基金会是Linux 基金会发起的项目,致力于通过最佳实践、教育和标准来推动实践云财务管理学科

参考

  1. https://www.gitops.tech/
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数