gitops-workflow

利用ArgoCD与Flux实施GitOps工作流,实现自动化、声明式的Kubernetes部署及持续同步。适用于践行GitOps理念、自动化Kubernetes部署或搭建声明式基础设施管理体系的场景。

作者

安装

热度:32

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=sickn33-skills-gitops-workflow&locale=zh&source=copy

GitOps Workflow - ArgoCD 与 Flux 自动化部署指南

技能概述


GitOps Workflow 提供使用 ArgoCD 和 Flux CD 实现 Kubernetes 声明式持续交付的完整指南,涵盖从安装配置到多集群管理和渐进式发布的最佳实践。

适用场景

  • Kubernetes 集群自动化部署

  • 需要为 Kubernetes 环境建立基于 Git 的单一事实来源,实现应用和基础设施的声明式管理,所有变更通过 Git 提交触发自动同步。

  • 多集群环境统一管理

  • 当需要同时管理多个 Kubernetes 集群(生产、预发布、开发环境)时,通过 GitOps 实现"一处修改,处处生效"的统一部署策略。

  • 渐进式发布策略实施

  • 需要实现金丝雀发布、蓝绿部署等渐进式交付策略,通过 ArgoCD Rollouts 或 Flux 配置实现流量的逐步切换和自动回滚。

    核心功能

    ArgoCD 完整安装与配置


    提供 ArgoCD 在 Kubernetes 中的完整安装流程,包括命名空间创建、Manifest 应用、初始密码获取,以及 Application 和 App of Apps 模式的配置示例。支持自动同步策略配置,包括 prune、selfHeal 和重试机制。

    Flux CD GitOps 工作流


    涵盖 Flux CLI 安装和 GitHub bootstrap 流程,以及 GitRepository 和 Kustomization 资源的创建。支持通过 Git 仓库自动拉取配置并持续调和集群状态。

    渐进式发布与密钥管理


    集成 ArgoCD Rollouts 实现金丝雀和蓝绿部署,支持基于权重的流量切换和暂停策略。提供 External Secrets Operator 和 Sealed Secrets 两种密钥管理方案,确保敏感信息不直接存储在 Git 仓库中。

    常见问题

    ArgoCD 和 Flux CD 应该如何选择?

    两者都是成熟的 GitOps 工具,选择主要取决于团队偏好和现有技术栈。ArgoCD 提供可视化的 Dashboard,更适合需要直观管理界面的团队;Flux CD 采用纯 YAML 配置,更符合"一切皆代码"的理念,适合喜欢命令行操作的团队。从功能上看,ArgoCD 的 UI 和 Rollouts 插件更为完善,而 Flux 的 Kustomization 集成更加原生。

    GitOps 中如何安全地管理密钥?

    永远不要将明文密钥提交到 Git 仓库。推荐使用两种方案:External Secrets Operator 可以从 AWS Secrets Manager、Azure Key Vault 等外部密钥管理服务同步密钥;Sealed Secrets 使用公钥加密密钥后提交到 Git,只有集群内的私钥才能解密。两种方案都能确保密钥安全且可版本化管理。

    什么时候不适合使用 GitOps?

    GitOps 不适合一次性手动部署场景、无法管理集群访问权限的情况,以及非 Kubernetes 的部署目标。此外,如果你的团队无法接受"所有变更必须经过 Git"的流程约束,或者需要频繁的手动干预和调试,GitOps 可能会增加额外的工作成本。