External Secrets Operator
把外部密钥后端同步成 K8s Secret:Git 里只留「去哪取」,不留密文。
两个 CR 就是全部心智模型:SecretStore 声明「后端在哪、用什么身份认证」,ExternalSecret 声明「取哪几个键、拼成哪个 Secret」。控制器按刷新周期去后端取值并 upsert 成原生 Secret,应用侧照常用 `envFrom` / volume 读,完全不需要改。后端支持 Vault、OpenBao、云厂商 KMS、1Password、Doppler 等一长串。它解决的是 GitOps 的核心矛盾:清单要进 Git,密钥不能进 Git。
上游活跃度
2026-08-23 抓取 · 数据来自 external-secrets/external-secrets (github)star6,806
最近提交2026-08-19
最新版本helm-chart-2.9.02026-08-08
数字由构建期抓取,非实时;star 数不同代码托管平台之间不可直接比较。
运行依赖
- 一个密钥后端,以及集群到该后端的认证路径(常用 Kubernetes ServiceAccount 认证)
上手前注意
- 同步出来的仍是**普通 Secret**(etcd 里只是 base64)—— 它管的是「不进 Git」,不是「集群内加密」,那是 etcd 加密与 RBAC 的事
- 后端不可达时行为要想清楚:已同步的 Secret 还在,但新建/轮换会停,且失败信号只在 CR 状态里
- 刷新周期太短会打爆后端的审计日志与速率限制,太长则轮换后不生效 —— 这个值要按后端能力定