cert-manager 是 Kubernetes 生态中事实标准的 TLS 证书管理工具,通过 CRD 将证书签发、续期和挂载流程声明式自动化,支持 ACME、Vault 和 CyberArk 等签发源,帮助团队消除证书过期故障与重复运维。
适用人群:Kubernetes 平台工程师,负责生产集群与证书生命周期管理;微服务开发者,需要在 Ingress 或应用内自动获取 TLS 证书;安全与合规人员,关注密钥存储、审计与统一证书策略。
适用场景:为 NGINX Ingress 自动申请 Let's Encrypt 证书并续期;在集群内部为服务间 mTLS 签发和轮换证书;企业使用 Vault 或 CyberArk 作为集中 CA,统一管理证书签发与吊销。
推荐理由:cert-manager 将证书从手工运维转化为声明式资源,真正减少证书过期导致的故障与值班压力。它生态成熟、文档完善、支持多种签发源,适合所有在 Kubernetes 上提供 HTTPS 的团队使用。
项目定位与背景
cert-manager 是 CNCF 生态中广泛采用的证书管理项目,定位为 Kubernetes 原生的证书编排与生命周期控制器。它把证书签发、续期、吊销和存储从手工运维流程,转成声明式资源,让团队以 GitOps 方式管理 TLS 信任关系。
核心功能与技术架构
项目通过 Certificate 与 CertificateRequest 等 CRD 扩展 Kubernetes API。控制器持续观察证书资源状态,按配置的签发源调用 ACME、HashiCorp Vault、CyberArk 或本地 CA,并在到期前自动续期。它还提供 Ingress 与 Gateway API 集成,能自动把证书写入 TLS 配置。
创新点与亮点
cert-manager 的核心价值是把证书当成基础设施状态,而不是临时产物。它通过独立 CertificateRequest 与策略签发者抽象,降低私钥暴露风险,并支持 Challenge 与 DNS 验证等 ACME 流程。续期窗口、私钥轮换和 Secret 同步机制,让自动化具备生产可用性。
与同类项目对比
相比手工申请证书或只在 CI 脚本里做申请,cert-manager 更贴近 Kubernetes 控制循环模型,可持续运行并降低配置漂移。相比仅绑定某一 Ingress 控制器或单一 CA 的方案,它提供 Issuer 抽象和丰富签发源。若已有 Vault,cert-manager 也能承担编排角色,而不是替代 Vault 的存储能力。
上手指南或快速开始
推荐先阅读官方文档,用 Helm 在测试集群完成安装,再查看 nginx-ingress 快速开始指南,创建 Issuer 和 Certificate,并配置 Ingress 注解或 Gateway API 监听。生产环境应规划 DNS 验证、限流、私钥存储与监控告警。
总结与展望
cert-manager 已经是 Kubernetes 上 HTTPS 自动化的成熟选择。随着 Gateway API、X.509 策略和更多企业 CA 集成的发展,它会继续承担集群证书控制平面的角色,减少安全运维负担。
项目信息
| 项目名称 | cert-manager/cert-manager |
| 编程语言 | Go |
| Star 数 | 14140 |
| Fork 数 | 2482 |
| 主题标签 | certificate, crd, hacktoberfest, kubernetes, letsencrypt, tls |