<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Argo Proj on Learning Notes</title><link>https://nianjiang.github.io/docs/70-CNCF/99-CI-CD/12-argo/</link><description>Recent content in Argo Proj on Learning Notes</description><generator>Hugo</generator><language>zh</language><atom:link href="https://nianjiang.github.io/docs/70-CNCF/99-CI-CD/12-argo/index.xml" rel="self" type="application/rss+xml"/><item><title>Argo Workflows</title><link>https://nianjiang.github.io/docs/70-CNCF/99-CI-CD/12-argo/01-argoWorkflow/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/70-CNCF/99-CI-CD/12-argo/01-argoWorkflow/</guid><description>&lt;h2 id="概览"&gt;
 概览
 &lt;a class="anchor" href="#%e6%a6%82%e8%a7%88"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Argo Workflows 是 CNCF 毕业项目，Kubernetes 原生的工作流引擎，用于编排容器化的任务（CI/CD、数据处理、ML 训练等）。&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;项目&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;官网&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://argoproj.github.io/workflows/"&gt;argoproj.github.io/workflows&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;文档&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://argo-workflows.readthedocs.io/"&gt;argo-workflows.readthedocs.io&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;GitHub&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/argoproj/argo-workflows"&gt;argoproj/argo-workflows&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;API 版本&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;argoproj.io/v1alpha1&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;CRD&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;Workflow&lt;/code&gt;、&lt;code&gt;WorkflowTemplate&lt;/code&gt;、&lt;code&gt;ClusterWorkflowTemplate&lt;/code&gt;、&lt;code&gt;CronWorkflow&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Online&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://killercoda.com/argoproj/course/argo-workflows"&gt;killercoda&lt;/a&gt;, 
 &lt;a href="https://github.com/argoproj-labs/training-material/tree/main/argo-workflows"&gt;Github&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="架构"&gt;
 架构
 &lt;a class="anchor" href="#%e6%9e%b6%e6%9e%84"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;┌─────────────────────────────────────────────────────────────────┐
│ argo namespace │
│ │
│ ┌──────────────────────┐ ┌──────────────────────────┐ │
│ │ Workflow Controller │ │ Argo Server │ │
│ │ (Deployment) │ │ (Deployment) │ │
│ │ │ │ │ │
│ │ - Watch Workflow CRD │ │ - gRPC/HTTP API :2746 │ │
│ │ - 创建/管理 Pod │ │ - Web UI (React) │ │
│ │ - Reconcile 状态 │ │ - SSO / Token 认证 │ │
│ └──────────┬───────────┘ └──────────────────────────┘ │
│ │ │
└─────────────┼────────────────────────────────────────────────────┘
 │ 创建 Pod
 ▼
┌─────────────────────────────────────────────────────────────────┐
│ 目标 namespace │
│ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ Workflow Pod │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │
│ │ │ init │──▶│ main │──▶│ wait │ │ │
│ │ │ (拉取 │ │ (用户 │ │ (上传 artifact、 │ │ │
│ │ │ artifact)│ │ 容器) │ │ 保存参数) │ │ │
│ │ └──────────┘ └──────────┘ └──────────────────┘ │ │
│ └─────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;核心组件&lt;/strong&gt;：&lt;/p&gt;</description></item><item><title>Argo Events</title><link>https://nianjiang.github.io/docs/70-CNCF/99-CI-CD/12-argo/02-argoEvents/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/70-CNCF/99-CI-CD/12-argo/02-argoEvents/</guid><description>&lt;h1 id="argo-events"&gt;
 
 &lt;a href="https://argoproj.github.io/argo-events/"&gt;Argo Events&lt;/a&gt;
 &lt;a class="anchor" href="#argo-events"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Kubernetes Event-Driven Workflow Automation Framework — 事件驱动的工作流自动化框架，监听 20+ 事件源并触发 Argo Workflows、K8s 资源、Serverless 等动作。CNCF Graduated（Argo 项目家族成员）。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Website&lt;/th&gt;
 &lt;th&gt;Doc&lt;/th&gt;
 &lt;th&gt;Github&lt;/th&gt;
 &lt;th&gt;Demo&lt;/th&gt;
 &lt;th&gt;Comment&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;
 &lt;a href="https://argoproj.github.io/argo-events/"&gt;Argo Events&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://argoproj.github.io/argo-events/"&gt;Doc&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/argoproj/argo-events"&gt;Github&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://workflows.apps.argoproj.io/event-flow/argo?showWorkflows=true"&gt;Demo&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;CNCF 毕业项目，事件驱动依赖管理，支持多种事件源&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="read-first"&gt;
 Read First
 &lt;a class="anchor" href="#read-first"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
 &lt;a href="https://argoproj.github.io/argo-events/"&gt;Docs&lt;/a&gt;, 
 &lt;a href="https://github.com/argoproj/argo-events"&gt;Github&lt;/a&gt;, 
 &lt;a href="https://www.cncf.io/projects/argo/"&gt;CNCF&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argoproj.github.io/argo-events/concepts/architecture/"&gt;Concepts - Architecture&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argoproj.github.io/argo-events/concepts/event_source/"&gt;Concepts - EventSource&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argoproj.github.io/argo-events/concepts/sensor/"&gt;Concepts - Sensor&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argoproj.github.io/argo-events/concepts/eventbus/"&gt;Concepts - EventBus&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argoproj.github.io/argo-events/concepts/trigger/"&gt;Concepts - Trigger&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argoproj.github.io/argo-events/quick_start/"&gt;Getting Started&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argoproj.github.io/argo-events/tutorials/01-introduction/"&gt;Tutorial - Introduction&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argoproj.github.io/argo-events/tutorials/02-parameterization/"&gt;Tutorial - Parameterization&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="核心概念"&gt;
 核心概念
 &lt;a class="anchor" href="#%e6%a0%b8%e5%bf%83%e6%a6%82%e5%bf%b5"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;h3 id="event-driven-architecture事件驱动架构"&gt;
 Event-Driven Architecture（事件驱动架构）
 &lt;a class="anchor" href="#event-driven-architecture%e4%ba%8b%e4%bb%b6%e9%a9%b1%e5%8a%a8%e6%9e%b6%e6%9e%84"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Argo Events 将 Kubernetes 集群转变为&lt;strong&gt;事件驱动&lt;/strong&gt;的平台：监听外部事件（Webhook、Git、日历、消息队列等）→ 转换为 CloudEvents → 通过 EventBus 传递 → Sensor 匹配依赖条件 → 触发下游动作（Argo Workflows、K8s 资源、HTTP 请求等）。&lt;/p&gt;</description></item><item><title>Argo CD</title><link>https://nianjiang.github.io/docs/70-CNCF/99-CI-CD/12-argo/14-argoCD/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/70-CNCF/99-CI-CD/12-argo/14-argoCD/</guid><description>&lt;h1 id="argo-cd"&gt;
 
 &lt;a href="https://argoproj.github.io/cd/"&gt;Argo CD&lt;/a&gt;
 &lt;a class="anchor" href="#argo-cd"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Declarative, GitOps continuous delivery tool for Kubernetes. CNCF Graduated 项目。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Website&lt;/th&gt;
 &lt;th&gt;Doc&lt;/th&gt;
 &lt;th&gt;Github&lt;/th&gt;
 &lt;th&gt;Demo&lt;/th&gt;
 &lt;th&gt;Comment&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;
 &lt;a href="https://argoproj.github.io/cd/"&gt;Argo CD&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://argo-cd.readthedocs.io/"&gt;Doc&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/argoproj/argo-cd"&gt;Github&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://cd.apps.argoproj.io/"&gt;Demo&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;CNCF 毕业项目，GitOps 持续交付工具，提供完整 UI&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
 &lt;a href="https://github.com/argoproj/argocd-example-apps/tree/master"&gt;argocd-example-apps&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=""&gt;
 
 &lt;a href="https://nianjiang.github.io/"&gt;&lt;/a&gt;
 &lt;a class="anchor" href="#"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;h2 id="read-first"&gt;
 Read First
 &lt;a class="anchor" href="#read-first"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
 &lt;a href="https://argo-cd.readthedocs.io/en/stable/"&gt;Docs&lt;/a&gt;, 
 &lt;a href="https://github.com/argoproj/argo-cd"&gt;Github&lt;/a&gt;, 
 &lt;a href="https://www.cncf.io/projects/argo-cd/"&gt;CNCF&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argo-cd.readthedocs.io/en/stable/understand_the_basics/"&gt;Understand The Basics&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argo-cd.readthedocs.io/en/stable/getting_started/"&gt;Getting Started&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argo-cd.readthedocs.io/en/stable/operator-manual/architecture/"&gt;Architecture Overview&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://fluxcd.io/flux/faq/#flux-v2-vs-argo-cd"&gt;Argo CD vs Flux&lt;/a&gt; — 两大 GitOps 工具对比&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://killercoda.com/argo"&gt;Killercoda Argo CD Labs&lt;/a&gt; — 在线实验环境&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="核心概念"&gt;
 核心概念
 &lt;a class="anchor" href="#%e6%a0%b8%e5%bf%83%e6%a6%82%e5%bf%b5"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;h3 id="gitops-原则"&gt;
 GitOps 原则
 &lt;a class="anchor" href="#gitops-%e5%8e%9f%e5%88%99"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;声明式配置&lt;/strong&gt;：应用定义、配置和环境均以 Git 仓库为唯一真实来源（Source of Truth）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;版本控制&lt;/strong&gt;：所有变更通过 Git commit 追踪，具备完整审计能力&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自动同步&lt;/strong&gt;：控制器持续对比 Git 期望状态与集群实际状态，自动或手动同步&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;拉取模式（Pull）&lt;/strong&gt;：与 CI 的 Push 模式不同，Argo CD 从 Git 拉取期望状态并应用到集群&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="支持的配置管理工具"&gt;
 支持的配置管理工具
 &lt;a class="anchor" href="#%e6%94%af%e6%8c%81%e7%9a%84%e9%85%8d%e7%bd%ae%e7%ae%a1%e7%90%86%e5%b7%a5%e5%85%b7"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;工具&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Kustomize&lt;/td&gt;
 &lt;td&gt;Kubernetes 原生配置管理，overlay 模式&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Helm&lt;/td&gt;
 &lt;td&gt;Kubernetes 包管理器，Chart 模板渲染&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Jsonnet&lt;/td&gt;
 &lt;td&gt;数据模板语言，适合复杂配置生成&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Plain YAML/JSON&lt;/td&gt;
 &lt;td&gt;直接使用 YAML/JSON 清单文件&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Config Management Plugin&lt;/td&gt;
 &lt;td&gt;自定义配置管理插件（如 kustomize + helm 组合）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="核心-crd"&gt;
 核心 CRD
 &lt;a class="anchor" href="#%e6%a0%b8%e5%bf%83-crd"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;CRD&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Application&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;定义应用的 Source（Git 仓库 + 路径 + 目标 revision）和 Destination（目标集群 + namespace）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;AppProject&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;多租户隔离单元，限制 Application 可用的 Git 仓库、目标集群、命名空间和 K8s 资源类型&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ApplicationSet&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;自动生成多个 Application 的模板引擎，通过 Generator 批量创建应用（如按集群、Git 目录、矩阵等）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="架构组件"&gt;
 架构组件
 &lt;a class="anchor" href="#%e6%9e%b6%e6%9e%84%e7%bb%84%e4%bb%b6"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;┌──────────────────────────────────────────────────────────┐
│ Argo CD 控制面 │
│ │
│ ┌─────────────┐ ┌─────────────────┐ ┌────────────┐ │
│ │ API Server │ │ Repo Server │ │ Redis │ │
│ │ (gRPC/REST) │ │ (Git 缓存+渲染) │ │ (缓存层) │ │
│ └──────┬───────┘ └────────┬────────┘ └────────────┘ │
│ │ │ │
│ ┌──────┴────────────────────┴────────────────────────┐ │
│ │ Application Controller │ │
│ │ (持续监控 → 对比 Git 期望状态 vs 集群实际状态) │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────┐ ┌────────────────────────────┐ │
│ │ Dex (SSO/OIDC) │ │ Notifications Controller │ │
│ └────────────────────┘ └────────────────────────────┘ │
└──────────────────────────────────────────────────────────┘
 │ │
 ┌─────┴─────┐ ┌─────┴─────┐
 │ Git Repo │ │ K8s 集群 │
 │ (Source │ │ (目标环境) │
 │ of Truth)│ │ │
 └───────────┘ └───────────┘
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="三大核心组件"&gt;
 三大核心组件
 &lt;a class="anchor" href="#%e4%b8%89%e5%a4%a7%e6%a0%b8%e5%bf%83%e7%bb%84%e4%bb%b6"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;组件&lt;/th&gt;
 &lt;th&gt;职责&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;API Server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;gRPC/REST 服务，暴露给 Web UI / CLI / CI 系统。负责应用管理、状态报告、认证与 RBAC、Webhook 监听&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Repository Server&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;维护 Git 仓库本地缓存，根据 repo URL + revision + path + 模板参数生成并返回 K8s 清单&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Application Controller&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;K8s Controller，持续对比 Git 期望状态与集群实际状态，检测 &lt;code&gt;OutOfSync&lt;/code&gt; 并执行同步操作，触发 PreSync/Sync/PostSync 生命周期 Hook&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="辅助组件"&gt;
 辅助组件
 &lt;a class="anchor" href="#%e8%be%85%e5%8a%a9%e7%bb%84%e4%bb%b6"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;组件&lt;/th&gt;
 &lt;th&gt;职责&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Dex&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;SSO 代理，支持 OIDC/OAuth2/LDAP/SAML/GitHub/GitLab 等身份认证&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Redis&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;缓存层，加速清单渲染和状态查询&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Notifications Controller&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;发送同步结果通知到 Slack/Teams/Email 等&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="快速开始"&gt;
 快速开始
 &lt;a class="anchor" href="#%e5%bf%ab%e9%80%9f%e5%bc%80%e5%a7%8b"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;h3 id="1-安装"&gt;
 1. 安装
 &lt;a class="anchor" href="#1-%e5%ae%89%e8%a3%85"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl create namespace argocd
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;kubectl apply -n argocd --server-side --force-conflicts &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#ae81ff"&gt;&lt;/span&gt; -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;--server-side --force-conflicts&lt;/code&gt; 是因为部分 CRD（如 ApplicationSet）超过 262KB annotation 限制。&lt;/p&gt;</description></item><item><title>Argo Rollouts</title><link>https://nianjiang.github.io/docs/70-CNCF/99-CI-CD/12-argo/15-argoRollouts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://nianjiang.github.io/docs/70-CNCF/99-CI-CD/12-argo/15-argoRollouts/</guid><description>&lt;h1 id="argo-rollouts"&gt;
 
 &lt;a href="https://argoproj.github.io/rollouts/"&gt;Argo Rollouts&lt;/a&gt;
 &lt;a class="anchor" href="#argo-rollouts"&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Kubernetes Progressive Delivery Controller — 提供蓝绿部署、金丝雀发布、流量管理和自动化分析能力。CNCF Graduated 项目。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Website&lt;/th&gt;
 &lt;th&gt;Doc&lt;/th&gt;
 &lt;th&gt;Github&lt;/th&gt;
 &lt;th&gt;Demo&lt;/th&gt;
 &lt;th&gt;Comment&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;
 &lt;a href="https://argoproj.github.io/rollouts/"&gt;Argo Rollouts&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://argo-rollouts.readthedocs.io/"&gt;Doc&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/argoproj/argo-rollouts"&gt;Github&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;
 &lt;a href="https://github.com/argoproj/rollouts-demo"&gt;Demo&lt;/a&gt;&lt;/td&gt;
 &lt;td&gt;CNCF 毕业项目，K8s 原生渐进式交付控制器&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="read-first"&gt;
 Read First
 &lt;a class="anchor" href="#read-first"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;
 &lt;a href="https://argo-rollouts.readthedocs.io/en/stable/"&gt;Docs&lt;/a&gt;, 
 &lt;a href="https://github.com/argoproj/argo-rollouts"&gt;Github&lt;/a&gt;, 
 &lt;a href="https://www.cncf.io/projects/argo-rollouts/"&gt;CNCF&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argo-rollouts.readthedocs.io/en/stable/concepts/"&gt;Concepts&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argo-rollouts.readthedocs.io/en/stable/architecture/"&gt;Architecture&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argo-rollouts.readthedocs.io/en/stable/getting-started/"&gt;Getting Started&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://argo-rollouts.readthedocs.io/en/stable/features/specification/"&gt;Rollout Specification&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
 &lt;a href="https://killercoda.com/argo"&gt;Killercoda Argo Rollouts Labs&lt;/a&gt; — 在线实验环境&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="核心概念"&gt;
 核心概念
 &lt;a class="anchor" href="#%e6%a0%b8%e5%bf%83%e6%a6%82%e5%bf%b5"&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;h3 id="progressive-delivery渐进式交付"&gt;
 Progressive Delivery（渐进式交付）
 &lt;a class="anchor" href="#progressive-delivery%e6%b8%90%e8%bf%9b%e5%bc%8f%e4%ba%a4%e4%bb%98"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;渐进式交付是持续交付的演进，通过&lt;strong&gt;限制新版本的暴露范围&lt;/strong&gt;→&lt;strong&gt;观察分析行为&lt;/strong&gt;→&lt;strong&gt;逐步扩大范围&lt;/strong&gt;→&lt;strong&gt;持续验证正确性&lt;/strong&gt;，降低发布风险：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;控制爆炸半径（Blast Radius）&lt;/strong&gt;：新版本仅暴露给少量用户&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;自动化推广/回滚&lt;/strong&gt;：基于指标分析结果自动决策&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;细粒度流量控制&lt;/strong&gt;：按百分比、Header、镜像流量等方式分流&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="rollout-crd"&gt;
 Rollout CRD
 &lt;a class="anchor" href="#rollout-crd"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Rollout 是 Argo Rollouts 的核心 CRD，等价于 Kubernetes Deployment 但具备更高级的部署策略：&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;特性&lt;/th&gt;
 &lt;th&gt;Deployment&lt;/th&gt;
 &lt;th&gt;Rollout&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;滚动更新&lt;/td&gt;
 &lt;td&gt;✅ RollingUpdate&lt;/td&gt;
 &lt;td&gt;✅ 支持（canary 无 steps 时等同）&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;蓝绿部署&lt;/td&gt;
 &lt;td&gt;❌&lt;/td&gt;
 &lt;td&gt;✅&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;金丝雀发布&lt;/td&gt;
 &lt;td&gt;❌&lt;/td&gt;
 &lt;td&gt;✅ 多阶段百分比控制&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;流量精细控制&lt;/td&gt;
 &lt;td&gt;❌&lt;/td&gt;
 &lt;td&gt;✅ 配合 Service Mesh/Ingress&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;自动化分析&lt;/td&gt;
 &lt;td&gt;❌&lt;/td&gt;
 &lt;td&gt;✅ AnalysisTemplate/AnalysisRun&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;自动回滚&lt;/td&gt;
 &lt;td&gt;❌&lt;/td&gt;
 &lt;td&gt;✅ 基于指标自动回滚&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;人工审批&lt;/td&gt;
 &lt;td&gt;❌&lt;/td&gt;
 &lt;td&gt;✅ pause 步骤&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="支持的部署策略"&gt;
 支持的部署策略
 &lt;a class="anchor" href="#%e6%94%af%e6%8c%81%e7%9a%84%e9%83%a8%e7%bd%b2%e7%ad%96%e7%95%a5"&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;策略&lt;/th&gt;
 &lt;th&gt;说明&lt;/th&gt;
 &lt;th&gt;流量切换&lt;/th&gt;
 &lt;th&gt;需要流量管理器&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Blue-Green&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;新旧版本同时运行，仅旧版本接收流量，验证后一键切换&lt;/td&gt;
 &lt;td&gt;全量切换（0%→100%）&lt;/td&gt;
 &lt;td&gt;否&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Canary（基础）&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;按副本数比例分配流量&lt;/td&gt;
 &lt;td&gt;粗粒度百分比&lt;/td&gt;
 &lt;td&gt;否&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Canary + Traffic Routing&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;通过 Service Mesh/Ingress 精细控制流量&lt;/td&gt;
 &lt;td&gt;细粒度百分比 + Header + 镜像&lt;/td&gt;
 &lt;td&gt;是&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;策略选择指南&lt;/strong&gt;：&lt;/p&gt;</description></item></channel></rss>