news 2026/6/15 14:52:28

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/6/10 15:43:25

2025年加倍投入AI的九大品牌

到2025年,生成式AI已成为品牌营销、创意和产品开发的核心工具。联合利华、美泰、多邻国、Klarna、CaliBBQ、通用汽车、Intuit、可口可乐和迪士尼等企业通过AI提升内容生产效率、降低成本、增强创意,同时探索广告、产品设计和客户互动新模式。可口可乐、迪…

作者头像 李华
网站建设 2026/6/10 18:02:01

想做自动机器学习却苦无工具?这9个Open-AutoGLM级开源框架必须收藏

第一章:Open-AutoGLM类开源项目概览Open-AutoGLM 是一类聚焦于自动化自然语言任务处理的开源项目,其核心目标是通过轻量化架构实现类 GLM 模型的能力复现与扩展。这类项目通常结合了指令微调、思维链(Chain-of-Thought)推理以及自…

作者头像 李华
网站建设 2026/5/30 21:49:49

Open-AutoGLM桌面端停更真相(从本地部署到云端转型的必然之路)

第一章:Open-AutoGLM 电脑版怎么没了?近期不少用户反馈,原本可正常访问的 Open-AutoGLM 电脑版网页端突然无法加载,官方入口跳转至空白页面或提示“服务不可用”。这一变化引发了社区广泛讨论。经调查,该现象并非由网络故障引起&…

作者头像 李华
网站建设 2026/6/15 11:50:30

智谱Open-AutoGLM模型部署实战(从零到上线的完整路径)

第一章:智谱Open-AutoGLM模型部署概述 Open-AutoGLM 是智谱AI推出的一款面向自动化任务的生成式语言模型,具备强大的自然语言理解与代码生成能力。该模型支持多种部署方式,适用于本地服务器、云环境及容器化平台,能够灵活满足企业…

作者头像 李华
网站建设 2026/6/15 11:50:33

告别AI幻觉!零代码实现RAG检索增强生成技术

文章介绍了RAG(检索增强生成)技术,旨在解决大语言模型的幻觉问题和私有数据访问限制。通过将Embedding技术与检索-生成框架结合,RAG允许AI像开卷考试一样参考外部知识库,通过检索相关文档、增强提示词、生成基于事实回答的三步流程&#xff0…

作者头像 李华