GitOps 介绍

发布时间: 更新时间: 总字数:622 阅读时间:2m 作者: 分享 复制网址
专栏文章
  1. Git 专题介绍
  2. Gitflow - 分支模型
  3. GitOps 介绍(当前)
  4. Git 常用命令
  5. Duplicating a git repository
  6. 图解4种git合并分支方法
  7. Git stash简介
  8. 使用 GPG 签名 Git Commit
  9. Git LFS 使用
  10. Git 仓库瘦身
  11. git hook 之 pre-commit 代码检查使用介绍
  12. Git 创建空的远程/本地分支
  13. Git submodule 使用介绍

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 支持金丝雀发布

其它

参考

  1. https://www.gitops.tech/
专栏文章
  1. Git 专题介绍
  2. Gitflow - 分支模型
  3. GitOps 介绍(当前)
  4. Git 常用命令
  5. Duplicating a git repository
  6. 图解4种git合并分支方法
  7. Git stash简介
  8. 使用 GPG 签名 Git Commit
  9. Git LFS 使用
  10. Git 仓库瘦身
  11. git hook 之 pre-commit 代码检查使用介绍
  12. Git 创建空的远程/本地分支
  13. Git submodule 使用介绍
最新评论
加载中...
Home Archives Categories Tags Statistics