使用 Kubernetes 服务处理 TLS LetsEncrypt 的良好实践
Good practices for handling TLS LetsEncrypt with Kubernetes Service
考虑到后端服务的 Nginx 反向代理处理 TLS LetsEncrypt 证书 "in front",这种设置在 Kubernetes 上的良好部署架构是什么?
我的第一个想法是制作一个容器,将 Nginx 和我的服务器放在容器中作为有状态集。
所有这些有状态集都可以访问安装在 /etc/nginx/certificates
上的卷。
所有这些容器都在 运行ning 一个 cron 并允许更新这些证书。
但是,我认为这不是最好的方法。这种类型的架构是为了拆分,而不是 运行 在任何地方提供完全独立的服务。
也许我应该 运行 一个独立的代理服务来处理证书并重定向到后端服务器部署(ingress
+ job
用于证书更新)?
如果您使用的是托管服务(例如 GCP HTTPS 负载均衡器),您如何颁发公开信任的证书并续订它?
你想要kube-lego.
kube-lego automatically requests certificates for Kubernetes Ingress resources from Let's Encrypt
它适用于 GKE+LoadBalancer 以及 nginx-ingress。用法很简单;自动证书请求(包括更新);使用 LetsEncrypt。
README 说您需要一个非生产用例——也许是开玩笑。我一直在使用它进行生产,我发现它足够可靠。
(完全披露:我与作者有松散的联系,但没有为产品做广告付费)
考虑到后端服务的 Nginx 反向代理处理 TLS LetsEncrypt 证书 "in front",这种设置在 Kubernetes 上的良好部署架构是什么?
我的第一个想法是制作一个容器,将 Nginx 和我的服务器放在容器中作为有状态集。
所有这些有状态集都可以访问安装在 /etc/nginx/certificates
上的卷。
所有这些容器都在 运行ning 一个 cron 并允许更新这些证书。
但是,我认为这不是最好的方法。这种类型的架构是为了拆分,而不是 运行 在任何地方提供完全独立的服务。
也许我应该 运行 一个独立的代理服务来处理证书并重定向到后端服务器部署(ingress
+ job
用于证书更新)?
如果您使用的是托管服务(例如 GCP HTTPS 负载均衡器),您如何颁发公开信任的证书并续订它?
你想要kube-lego.
kube-lego automatically requests certificates for Kubernetes Ingress resources from Let's Encrypt
它适用于 GKE+LoadBalancer 以及 nginx-ingress。用法很简单;自动证书请求(包括更新);使用 LetsEncrypt。
README 说您需要一个非生产用例——也许是开玩笑。我一直在使用它进行生产,我发现它足够可靠。
(完全披露:我与作者有松散的联系,但没有为产品做广告付费)