K8s 下的 TLS 证书管理 — 了解 Cert-Manager
在 Kubernetes 中实现 TLS termination 非常容易。Ingress 资源包含一 secretName 属性,用于指定 Secret 资源名称。在取得证书后,通过 kubectl create secret tls tls-secret --key tls.key --cert tls.crt 创建 Secret 存储证书,便可以被 Ingress 使用了。 唯独有些不方便的是,证书的申请以及创建 Secret 的过程需要手动执行。在证书即将过期前,还需要人工续期。在传统 VM 部署的场景下,可以使用例如 certbot 或 acme.sh 等项目,配合 Let’s Encrypt 自动申请并定期续签证书。而在 K8s 集群中如何降低证书维护成本?来看看我们是怎么做的。