mcpField
G
gitops-workflows

gitops-workflows

github.com/nickcrew云与 DevOps6289 次安装17 周前更新
代码仓库

关于 gitops-workflows

gitops-workflows 是面向使用 GitOps 部署 Kubernetes 基础设施的团队的技能,提供 ArgoCD 和 Flux CD 指导,涵盖仓库设计、环境晋级、密钥管理、渐进式交付和回滚策略。

主要功能

  1. 01ArgoCD 和 Flux CD 指导
  2. 02仓库结构模式
  3. 03环境晋级策略
  4. 04密钥管理方案
  5. 05金丝雀与蓝绿交付
  6. 06回滚与灾难恢复

适用场景

  1. 01建立基于 Git 的 Kubernetes 交付
  2. 02管理多集群环境
  3. 03跨环境晋级变更
  4. 04规划部署失败后的回滚

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/nickcrew/claude-cortex --skill gitops-workflows

安装后在 Claude Code 中输入/gitops-workflows确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
argocd-implementation.md
best-practices.md
core-principles.md
environment-promotion.md
flux-implementation.md
progressive-delivery.md
repository-structures.md
rollback-strategies.md
secret-management.md

详细介绍

GitOps 工作流

关于使用 ArgoCD 和 Flux CD 实现生产级 GitOps 工作流的专业指南,涵盖声明式部署模式、渐进式交付策略、多环境管理,以及 Kubernetes 基础设施的安全密钥处理。

何时使用此技能

  • 为 Kubernetes 部署实施 GitOps 原则
  • 自动化从 Git 仓库进行持续交付
  • 管理多集群或多环境部署
  • 实施渐进式交付(canary、blue-green)策略
  • 配置自动同步策略和协调
  • 在 GitOps 工作流中安全管理密钥
  • 设置环境晋级工作流
  • 设计 GitOps 仓库结构(单体仓库与多仓库)
  • 实施回滚策略和灾难恢复
  • 通过 Git 建立合规性和审计跟踪

核心概念

四项原则
  1. 声明式:以代码形式表达整个系统状态
  2. 版本化:将规范状态存储在 Git 中,并保留完整历史记录
  3. 自动拉取:Agent 拉取期望状态(不向生产环境推送)
  4. 持续协调:自动检测并纠正偏差
主要优势
  • 完整的部署历史和审计跟踪
  • 通过 Git 操作快速回滚
  • 增强安全性(CI 中无需集群凭据)
  • 基础设施自我修复
  • 多集群一致性
  • 基础设施变更采用熟悉的 Git 工作流

快速参考

任务加载参考资料
GitOps 原则和优势skills/gitops-workflows/references/core-principles.md
仓库结构模式(单体仓库、多仓库、分支)skills/gitops-workflows/references/repository-structures.md
ArgoCD 设置、Applications、ApplicationSetsskills/gitops-workflows/references/argocd-implementation.md
Flux 引导、源、Kustomizations、HelmReleasesskills/gitops-workflows/references/flux-implementation.md
环境晋级策略skills/gitops-workflows/references/environment-promotion.md
密钥管理(Sealed Secrets、ESO、SOPS)skills/gitops-workflows/references/secret-management.md
渐进式交付(canary、blue-green)skills/gitops-workflows/references/progressive-delivery.md
回滚策略和灾难恢复skills/gitops-workflows/references/rollback-strategies.md
最佳实践和模式skills/gitops-workflows/references/best-practices.md

工作流步骤

1. 选择仓库结构

决策因素:

  • 团队规模和组织结构
  • 应用耦合度和依赖项
  • 访问控制要求
  • 部署频率和独立性

选项:

  • 单体仓库:单个仓库,统一的平台团队,共享基础设施
  • 多仓库:按应用或团队拆分仓库,独立发布周期
  • 环境分支:Git flow 风格,心智模型简单
2. 选择 GitOps 工具

ArgoCD:

  • 以 UI 为核心,提供可视化应用管理
  • 采用 App of Apps 模式进行分层部署
  • 使用 ApplicationSets 进行多集群部署
  • 提供强大的 RBAC 和项目隔离

Flux:

  • 以命令行优先,采用 GitOps Toolkit 架构
  • 原生支持 Kustomize 和 Helm
  • 自动更新镜像
  • 更轻量,面向云原生
3. 配置密钥管理

切勿将未加密的密钥提交到 Git

选项:

  • Sealed Secrets:客户端加密,工作流简单
  • External Secrets Operator:从外部密钥存储同步(AWS、Vault、GCP)
  • SOPS:使用 age 或云 KMS 进行基于文件的加密
4. 实施同步策略

非生产环境:

  • 启用自动同步,并使用 prune 和 selfHeal
  • 频繁协调(1-5 分钟)
  • 快速失败并立即反馈

生产环境:

  • 手动审批或设置门控的自动化流程
  • 健康检查和等待条件
  • 对高风险变更采用渐进式交付
  • 在维护时段设置同步窗口
5. 设置环境晋级

晋级策略:

  • 基于 Git:通过 Git 操作使用标签或分支进行晋级
  • Kustomize overlays:更新特定环境 overlay 中的镜像标签
  • 自动更新:Flux ImageUpdateAutomation 的 semver 策略
6. 配置渐进式交付

针对高风险变更:

  • ArgoCD Rollouts:通过自动分析进行金丝雀部署
  • Flagger:基于指标晋级的渐进式交付
  • 使用 Istio 或其他服务网格进行流量切换
  • 分析失败时自动回滚
7. 制定回滚流程

Git 回滚:

  • 使用 git revert 撤销特定提交
  • 通过更新 targetRevision,基于标签回滚
  • 快速且声明式

特定工具:

  • ArgoCD:使用版本历史记录执行 argocd app rollback
  • Flux:暂停自动化,手动回滚,然后恢复

常见错误

  1. 提交未加密的密钥——始终使用密钥管理解决方案
  2. 非生产环境没有自动同步——减慢开发反馈速度
  3. 生产环境启用自动同步但没有关卡——变更可能造成破坏,风险很高
  4. 忽视漂移检测——手动变更应进行协调或触发警报
  5. 没有运行状况检查——同步成功,但应用运行状况不佳
  6. 缺少依赖项排序——基础设施就绪前就部署应用
  7. 没有测试回滚——实际事故发生时才发现问题
  8. 环境不一致——预发布环境与生产环境差异过大
  9. 没有测试晋级流程——环境晋级过程中容易出现人为错误
  10. RBAC 权限控制薄弱——为 GitOps 服务账户授予过多权限

资源

评论

支持 Markdown