希曼日记

密钥方案对比 Sealed Secrets SOPS Vault

三种方案对应两种哲学:密文进 Git(Sealed Secrets、SOPS + age),或 Git 只放引用、真身在外部服务(Vault + ESO)。

Sealed SecretsSOPS + ageVault + ESO
密钥真相源Git(非对称密文)Git(结构化密文,键可读值加密)Vault 数据库;Git 里只有 ExternalSecret 引用
密钥对出生地集群内 → 私钥要备份出来集群外 → 私钥要注入进去集群外服务
集群重装先恢复私钥,否则密文全废天然免疫天然免疫,重装 ESO 后密钥自动流回
轮换 / 审计 / 动态凭据无无主场能力
消费者范围仅 k8s任何持钥方k8s + compose + CI 多平面
运维成本约等于零约等于零(纯 CLI)真实服务:unseal、备份、暴露面
ArgoCD 集成原生(普通 CR)需 KSOPS / CMP sidecar,繁琐易碎原生(ESO 物化出普通 Secret)
Git 回滚语义回滚连密钥值一起回同左只回滚引用,值的历史在 Vault 侧

经验法则:Flux 用户默认 SOPS(kustomize-controller 原生解密),ArgoCD 用户默认 Sealed Secrets,需要全生命周期管理才上 Vault + ESO。

本地拍板(2026-08-17):集群反复重装 + 未来 CI 与 compose 共用的期权 → Vault + ESO,测试级取舍(单 unseal key、root token 同机)见 Vault 线上部署与硬化。

相关:L3 密钥管理 · Helm Secrets