kubernetes Argo简介

目录

  • [一. 简介](#一. 简介)
  • [二. Argo CD](#二. Argo CD)
  • [三. Argo Rollouts](#三. Argo Rollouts)
  • [四. 总结](#四. 总结)

一. 简介

🔷云原生领域里由 Argo Project 提供的一套 建立在Kubernetes上的原生工具集,用来做 CI/CD部署工作流编排 等事情。

  • 核心思想是:一切用 YAML 声明,然后由控制器自动执行(GitOps)。
功能 Kubernetes Argo
部署应用 Deployment Argo CD
发布策略 基础 rolling update Rollouts(高级)
工作流 没有 Workflows
自动化 很弱 Events

二. Argo CD

🔷Argo CD的作用

  • 自动部署应用到 Kubernetes
  • Git 仓库 = 真正的配置来源(GitOps)
bash 复制代码
Git(YAML配置)
   ↓
Argo CD 自动同步
   ↓
Kubernetes 集群
  • 查看Argo CD管理的application的状态,例如application中的资源状态和GitLab中的是否相同。
bash 复制代码
kubectl -n argocd get applications | grep keystore
  • Synced:集群状态 等于 Git状态,已经同步
  • OutOfSync:集群状态 不等于 Git状态,没有同步
    • GitLab中的资源被修改,但没同步到集群中
    • 手动使用kubectl改过资源
    • configmap 被修改了
  • 查看指定application的信息
bash 复制代码
kubectl -n argocd describe application application名称
  • 查看指定application的定义文件
bash 复制代码
kubectl -n argocd get application application名称 -o yaml

三. Argo Rollouts

🔷相比于Kubernetes原生的Deployment,Argo Rollouts是更加高级的发布策略,主要控制的是应用怎么上线。

  • 普通 Kubernetes:

    bash 复制代码
    直接替换 Pod(风险大)
  • Argo Rollouts:

    bash 复制代码
    新版本 → 10% → 30% → 100%
      ↓
    观察是否出问题
功能 说明
蓝绿发布 Blue/Green
金丝雀发布 Canary
灰度发布 分批上线
自动回滚 失败自动撤回
  • 确认rollouts的名称
bash 复制代码
kubectl -n cocoa get rollouts | grep mpl
  • 重启指定的rollouts
  • 安装了kubectl-argo-rollouts插件之后才能使用argo命令
bash 复制代码
kubectl argo rollouts restart rollouts名称 -n cocoa

四. 总结

🔷Kubernetes + Argo CD(GitOps) + Argo Rollouts(渐进式发布) = 云原生自动化发布体系

1️⃣ Kubernetes 👉 基础设施层

负责:

  • 调度容器(Pod)
  • 资源管理
  • 服务发现

2️⃣ Argo CD 👉 部署控制层(核心)

负责:

  • 从 GitLab 同步配置
  • 自动 apply 到Kubernetes集群

3️⃣ Argo Rollouts 👉 发布策略层,控制如何上线。

负责:

  • 灰度发布(Canary)
  • 蓝绿发布(Blue/Green)
  • 自动回滚
bash 复制代码
GitLab(配置)
   ↓
Argo CD(负责"部署")
   ↓
Kubernetes(负责"运行")
   ↓
Argo Rollouts(负责"发布策略")
bash 复制代码
Kubernetes 负责跑程序,
Argo CD 负责把代码部署上去,
Argo Rollouts 负责安全地一点点上线。
相关推荐
小肥君9 小时前
docker无法连接GPU资源解决方案
docker·容器·eureka
liux35289 小时前
K8s存储卷全解析:PV/PVC/StorageClass 关系
kubernetes
江华森12 小时前
从零搭建 Kubernetes 集群并部署 Kuboard v3 管理面板 —— 国内环境完整实战教程
容器·kubernetes
友莘居士13 小时前
KingbaseES Docker速查表
运维·docker·容器
小肥君14 小时前
docker镜像配置
运维·docker·容器
某林21216 小时前
Isaac Lab (v2.3.2) Docker 本地化部署与底层排障全解析
运维·docker·容器·架构·iassc
iDao技术魔方18 小时前
WSL 配 GPU 用 Docker 的折腾指南(2026 年版)
运维·docker·容器
步步为营DotNet19 小时前
.NET 11 中 Native AOT 在云原生场景下的深度剖析与实践
云原生·.net
跳动的世界线19 小时前
WSL 2 + Docker 本地全栈开发环境配置指南
运维·docker·容器