我正在尝试弄清楚如何在托管在Jelastic上的k8s集群上最好地安装SSL。我发现了一些关于如何让证书管理器在k8s集群上正常工作的很好的提示(与主机提供商无关)。
我现在担心的是我不能百分之百确定我是否需要letsencrypt,或者我是否可以使用默认的SSL安装。查看this README的底部(最后一段),我发现我必须能够在我的集群上安装它。从Jelastic仪表板上看,我能做到这一点一点都不明显。加载项图标显示在工作节点和存储节点上。通过这个图标,在两种情况下,我都看不到letsencrypt插件。
这里的最佳实践是什么?我如何让它启动并运行?首先,默认安装的nginx入口控制器不符合我们的安全要求。其次,默认情况下,我们添加到此Jelastic环境中的任何子域都不会获得必要的ssl证书。我该如何解决这个问题呢?
发布于 2020-03-07 00:00:48
让我来解释一下SSLs。您是100%正确的,在Jelastic的K8s中,至少有两个选项可以处理SSL。
简要地说:
1)将SSLs部署到SLB (via API或通过LE addon)。LE addon + SLB组合现在仅对Private Cloud客户可用(对Public Cloud的支持即将到来)。通过这种方式,您可以使用http终端将请求从SLB转发到您的K8s集群(这样您的入口控制器将只侦听https2http )。
2)使用证书管理器直接将SSL部署到K8s。最新版本的K8s in Jelastic支持这一点。为了能够使用此方法,需要在所有工作节点上附加Public IPs (因为它们具有入口控制器的直接侦听器)。在这种情况下,SSL证书颁发将由使用专用注释的入口规则触发。这种方法是推荐的,并且被认为更安全。您的K8s集群将接受端口443上的直接连接,每个公开的服务都可能有专用的ACME入口用于验证。
https://stackoverflow.com/questions/60546645
复制相似问题