news 2026/2/28 14:34:52

ArgoCD GitOps实战:声明式持续交付与多集群管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ArgoCD GitOps实战:声明式持续交付与多集群管理

为什么要GitOps

传统的CI/CD流程:

代码提交 → CI构建 → 推送镜像 → CD脚本执行kubectl apply

这个流程有几个问题:

  1. 状态漂移:有人手动改了集群配置,CI/CD不知道
  2. 回滚困难:出问题了想回滚,得翻找历史构建记录
  3. 审计缺失:谁改了什么、什么时候改的,不清楚
  4. 多环境同步:dev、staging、prod三套环境,配置容易不一致

GitOps的核心思想:Git是唯一的真相来源

  • 所有配置都在Git仓库里
  • 集群状态必须和Git仓库一致
  • 任何变更都通过Git提交
  • 漂移会被自动修复或告警

ArgoCD就是实现GitOps的工具,它持续监控Git仓库,发现差异就自动同步。

架构概览

┌──────────────────────────────────────────────────────────────┐ │ ArgoCD Server │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ API Server │ │ Repo Server │ │ Application Controller│ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ └──────────────────────────────────────────────────────────────┘ │ │ │ │ │ │ ▼ ▼ ▼ ┌─────────┐ ┌──────────┐ ┌──────────────┐ │ UI │ │ Git │ │ Kubernetes │ │ CLI │ │ Repos │ │ Clusters │ └─────────┘ └──────────┘ └──────────────┘

核心组件:

  • API Server:提供REST/gRPC API,处理UI和CLI请求
  • Repo Server:克隆Git仓库,生成Kubernetes manifests
  • Application Controller:监控应用状态,执行同步操作

安装部署

快速安装

# 创建命名空间kubectl create namespace argocd# 安装ArgoCDkubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml# 等待Pod就绪kubectlwait--for=condition=Ready pods --all -n argocd --timeout=300s# 获取初始密码kubectl -n argocd get secret argocd-initial-admin-secret -ojsonpath="{.data.password}"|base64 -d

高可用部署

生产环境用HA模式:

kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/ha/install.yaml

或者用Helm更灵活:

# argocd-values.yamlglobal:image:tag:v2.9.3controller:replicas:2resources:requests:cpu:250mmemory:512Milimits:cpu:1000mmemory:1Giserver:replicas:2service:type:LoadBalancerrepoServer:replicas:2resources:requests:cpu:100mmemory:256Milimits:cpu:500mmemory:512Miredis-ha:enabled:truereplicas:3configs:params:server.insecure:true# 如果前面有LB做TLS
helm repoaddargo https://argoproj.github.io/argo-helm helminstallargocd argo/argo-cd -n argocd -f argocd-values.yaml

基础使用

连接Git仓库

# 安装CLIbrewinstallargocd# 登录argocd login argocd.example.com# 添加私有仓库(SSH)argocd repoaddgit@github.com:org/manifests.git\--ssh-private-key-path ~/.ssh/id_rsa# 添加私有仓库(HTTPS)argocd repoaddhttps://github.com/org/manifests.git\--username admin\--password token123

创建应用

YAML方式(推荐):

apiVersion:argoproj.io/v1alpha1kind:Applicationmetadata:name:guestbooknamespace:argocdspec:project:defaultsource:repoURL:https://github.com/argoproj/argocd-example-apps.gittargetRevision:HEADpath:guestbookdestination:server:https://kubernetes.default.svcnamespace:guestbooksyncPolicy:automated:prune:true# 删除Git中不存在的资源selfHeal:true# 自动修复漂移allowEmpty
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/22 21:10:23

【国产开源崛起】:对标Open-AutoGLM的6大中国团队项目全面解析

第一章:Open-AutoGLM与国产AutoML的崛起背景近年来,人工智能技术快速发展,自动化机器学习(AutoML)作为降低AI应用门槛的核心方向,正迎来爆发式增长。在中国科技自主创新的大背景下,国产AutoML平…

作者头像 李华
网站建设 2026/2/23 16:43:42

Open-AutoGLM沉思部署避坑指南(90%新手都会忽略的细节)

第一章:Open-AutoGLM沉思怎么用Open-AutoGLM 是一个面向自动化任务的开源大语言模型工具,专为代码生成、自然语言理解与多步骤推理设计。其核心优势在于支持自定义提示链(Prompt Chaining)和动态上下文管理,适用于复杂…

作者头像 李华
网站建设 2026/2/28 14:01:53

【智谱Open-AutoGLM部署全攻略】:手把手教你快速搭建高效AI模型系统

第一章:智谱Open-AutoGLM模型部署概述智谱AI推出的Open-AutoGLM是一款面向自动化任务生成与执行的大语言模型,具备强大的自然语言理解与代码生成能力。该模型支持本地化部署与云端集成,适用于企业级智能客服、自动化报表生成、低代码开发辅助…

作者头像 李华
网站建设 2026/2/25 15:18:44

2025最新!自考党必看!10个AI论文工具深度测评与推荐

2025最新!自考党必看!10个AI论文工具深度测评与推荐 2025年自考论文写作新选择:AI工具测评与推荐 随着人工智能技术的不断进步,越来越多的自考学生开始借助AI论文工具提升写作效率、优化内容质量。然而,面对市场上琳琅…

作者头像 李华