我需要通过https在外部公开Kubernetes NodePort服务。
Polyaxon可以通过自己的配置支持SSL / TLS,但是关于它的文档很少。我已经尽了最大的努力来解决该问题,并在他们的github上碰了an issue,但到目前为止还没有运气。
所以我现在想知道是否可能有一个更通用的Kubernetes黑客可以在这里帮助我。
我正在寻找最简单的解决方案,而不是最优雅或可扩展的解决方案。还有一些事情可能会使我的情况比想要https的普通用户更简单,即:
https://<ip_address>:<port>
连接不仅可以,而且更可取因此,我希望有某种方法可以直接操作NodePort服务,以便https将在虚拟机上运行。如果这不可能,那么我考虑过的其他解决方案都在使用Ingress Controller或某种代理,但是在我看来,这些解决方案都有些生硬。我是一个兼具Kubernetes和网络思想的新手,因此,如果您要提出更复杂的内容,请说得很慢:)
非常感谢您的帮助!
答案 0 :(得分:0)
入口控制器,这是通过TLS连接从群集到客户端公开HTTP后端的标准方法。
现有的NodePort
服务具有ClusterIP
,可以用作Ingress的后端。 ClusterIP服务类型已足够,因此您可以稍后更改服务类型,以防止通过nodeIP:nodePort
进行HTTP访问。
Ingress-controller允许您终止TLS连接或到后端的TLS流量通过。
您可以使用自签名证书,也可以将cert-manager与Let's encrypt服务一起使用。
请注意,从0.22.0版本开始,Nginx-ingress重写语法has changed和文章中的某些示例可能已过时。
检查链接: