业务故事站
P3 Apollo

Apollo · 声明式部署与编排平台

对标 Palantir Apollo 的轻量版交付运维底座:用"期望状态声明 + Spoke 拉取"把软件与配置安全分发到任何环境,控制面永不主动连入客户环境。本页用场景故事带你认识它怎么部署、怎么防漂移、怎么保供应链安全。

应用开发 运维工程师 安全合规 GitOps DAG 部署 漂移治理 完整交付 11 个主题 · 40 个故事

能 / 不能速览

✅ Apollo 能做
  • 声明式期望状态:YAML 定义组件 / 依赖 DAG / 探针 / 策略,登记后激活即可部署
  • DAG 分批部署:依赖分层放行 + 就绪门控推进 + 超时失败自动回滚
  • 漂移检测与调和:JSON Patch 路径级 diff + ignore_paths 忽略规则 + reconcile 收敛
  • bundle 供应链安全:SM3 清单 + SM2 签名 + 签名者白名单信任锚 + 单调版本防回滚
  • 安全合规:SBOM 物料清单 + 内置漏洞扫描 + 安全策略门禁(部署前拦截)+ 合规报告
  • 任意版本回滚、部署策略(policy-as-code)、发布通道、Spoke Agent 拉取式部署
⛔ Apollo 做不了
  • 当前 YAML 手工登记到 Hub,"Git 即真相源 + 自动 PR"属 P2
  • 演示 Poller 仅拉取 / 上报,不真实部署进程(ProcManager 未挂载时不应用)
  • 监控 / 告警 / 自愈(Prometheus / Loki / Jaeger)属 V2;gRPC / mTLS 属 V2
  • 指标门控渐进发布、真实 Trivy/Syft 扫描器、OPA(Rego) 策略引擎、敏感配置 SM4 加密属后续阶段

常见角色

  • 应用开发工程师:把服务写成期望状态 YAML(组件 / 依赖 / 探针),登记与演进版本。
  • 运维工程师 / SRE:激活、发起部署、手动推进、处理漂移与回滚——部署编排核心使用者。
  • 安全合规工程师:bundle 验签、签名者白名单信任锚、SBOM / 漏洞扫描 / 策略门禁、合规报告与审计留痕。
  • 平台管理员:权限(RBAC)、审计、系统健康与配置。

核心能力(能做什么)

期望状态管理

YAML 声明应用该长什么样:组件、依赖 DAG、探针、策略;状态机 draft → active → deprecated 受控流转。

DAG 部署编排

Kahn 分层分批放行 + 就绪门控(依赖全 ready 才推进)+ 就绪超时 + 失败自动回滚(auto_rollback 默认开启)。

漂移检测与调和

期望 vs 实际做 JSON Patch 路径级 diff,ignore_paths 忽略动态字段,reconcile 收敛回期望状态。

bundle 供应链安全

SM3 逐文件清单 + 不可变 digest + SM2 签名 + 签名者白名单信任锚,堵住"任意有效签名"。

回滚引擎

任意历史版本回滚(生成新期望状态行)+ 部署失败自动回滚 + 同一 Agent 部署锁串行化。

Spoke 拉取式部署

Agent 出向拉取期望状态并上报实际状态,控制面永不主动连入客户环境,适配内网 / 离线 / 信创。

发布通道与策略

release_channels 指向期望状态(stable 等),部署策略 policy-as-code(auto_rollback / 超时 / 并发 / 忽略路径)。

快速上手(5 分钟跑通一次部署)

  1. 登录:启动 Apollo 后端(端口 18082),用 admin / admin1 登录
  2. 看期望状态:进入"期望状态"页,demo-app 已预置并激活(v1.0.0、web→db 依赖 DAG、tcp 探针)
  3. 看声明:点"查看声明"导出 YAML,理解 components / depends_on / probes / policy
  4. 发起部署:到"部署"页发起部署 demo-app 到 agent=spoke-01,看 DAG 首批放行 db
  5. 推进:在组件状态里手动"推进"直到 synced,再去"漂移检测"体验一次 detect → reconcile

主题列表

P3 Apollo 4 个故事
GitOps 入门:声明式部署
从期望状态声明、激活到发起部署,看懂"声明即期望、激活即可部署"的 GitOps 基础玩法。
应用开发 运维工程师 GitOps 声明式
P3 Apollo 4 个故事
DAG 分批部署:依赖与就绪门控
web 依赖 db 的两组件应用如何按依赖分批放行、就绪门控推进、超时失败自动回滚。
运维工程师 SRE DAG 自动回滚
P3 Apollo 3 个故事
Bundle 签名与验签:供应链安全
构建签名 bundle、SM3+SM2 全链路验签、签名者白名单信任锚,堵住"任意有效签名"漏洞。
安全合规 SM3 SM2 信任锚
P3 Apollo 4 个故事
漂移检测:期望 vs 实际
配置被手改产生漂移、JSON Patch diff 展示、ignore_paths 忽略动态字段、reconcile 收敛闭环。
运维工程师 安全合规 漂移 reconcile
P3 Apollo 4 个故事
回滚与部署锁
任意历史版本回滚、部署失败自动回滚、同一 Agent 部署锁串行化,回滚安全有兜底。
运维工程师 回滚 部署锁
P3 Apollo 3 个故事
Spoke Agent 拉取式部署
纯 Pull 模型:Agent 出向拉取期望状态并上报实际状态,控制面永不主动连入客户环境。
平台运维 Pull Agent
P3 Apollo 3 个故事
部署策略
policy-as-code:auto_rollback、就绪超时、并发上限、漂移忽略路径,一处配置处处生效。
运维工程师 策略 policy
P3 Apollo 3 个故事
发布通道
stable 等发布通道指向期望状态,渐进发布与灰度策略的载体。
平台运维 通道 灰度
P3 Apollo 4 个故事
监控告警与自愈:从探针到审批闭环
健康检查探针发现故障、告警规则触发事件单 + Webhook 通知、自愈待审批执行、静默与恢复自动关单。
监控 健康检查 告警 自愈审批
P3 Apollo 4 个故事
配置管理:Base+Overlay 与 Sealed-Secret
一套 base 配置渲染出 dev/test/prod 差异,Sealed-Secret 加密落库、轮换与远程解密留痕。
应用开发 配置管理 Sealed-Secret 密钥轮换
P3 Apollo 4 个故事
安全合规:SBOM、漏洞扫描与策略门禁
为制品生成 SBOM 物料清单、触发漏洞扫描、用安全策略门禁在部署前拦住带 Critical 漏洞的制品,最后用合规报告看清项目安全态势。
安全合规 SBOM 漏洞扫描 SecurityGate

与 Palantir Apollo 的价值差异

LightApollo 对标 Palantir Apollo,但走"轻量、开放、国产化"路线:
  • 轻量可单机:Palantir Apollo 部署需要专业团队;LightApollo 单机可运行,10 分钟启动(admin / admin1 即可体验)。
  • 拉取式 Pull 通信:Agent 全程出向拉取 / 上报,控制面永不主动连入客户环境——内网、离线、信创场景天然可用。
  • 国密供应链安全:SM3 清单 + SM2 签名 + 签名者白名单信任锚 + 单调版本防回滚,契合国产化与合规要求。
  • 开放 API 与跨产品分发:REST API 直白可调试;bundle 组件类型支持 config / llm_route / eval_set / ontology_yaml,可为 AIP / Foundry 做分发载体。

常见问题

Apollo 和 Kubernetes / Argo CD 是什么关系?

Apollo 是它们之上的"控制平面",不替代 K8s:它用期望状态管理异构环境(含非 K8s 的虚拟机 / 裸金属 / 单机),K8s 是 V2 的目标环境之一。Argo CD 只覆盖 K8s,Apollo 覆盖 K8s + 非 K8s。

控制面怎么访问目标机?

不访问。Spoke Agent 主动出向拉取期望状态(GET)并上报实际状态(POST),控制面永不主动连入客户环境,因此生产环境无需开放入向端口,也天然适配内网与离线场景。

为什么用国密 SM2 / SM3?

SM3 做内容摘要(逐文件清单 + digest)、SM2 做签名与验签、签名者指纹 = SM3(公钥)。国密算法契合信创与国产化要求,且离线可验、不依赖第三方证书中心。

怎么体验?

启动 Apollo 后端(18082),用 admin / admin1 登录。演示数据自动就绪:demo-app 期望状态(已激活)、demo-signer 签名者、stable 发布通道、default 部署策略。建议先看"GitOps 入门:声明式部署"。

产品小结

一句话:Apollo 是"声明期望状态 + Spoke 拉取对齐"的交付运维底座:DAG 分批部署保障顺序,漂移检测保障环境一致,bundle 签名与信任锚保障供应链安全,单调版本与回滚引擎保障可回退。边界同样明确:Git 真相源是 P2、演示 Poller 不真实部署、监控告警与指标门控属后续阶段。