我的机构的防火墙设置阻止了大多数外部端口,目前,我具有内部Linux虚拟机,例如 http://abc.xyz:5555 (此链接只能在内部网络),并且管理员设置了Netscaler,以便将内部链接转发到公共可用链接: https://def.edu 。
现在,我有多个使用5556、5557、5558等端口的Web服务器。我想设置Kubernetes入口,所有流量先进入入口控制器,然后入口会将流量转发到我的多个Web服务。通常如下图所示。
我只有5555端口可用,但是Ingress的所有教程似乎仅支持HTTP 80和HTTPS 443端口。我的问题是,我可以将Ingress控制器主机设置为 http://abc.xyz:5555 吗?还是我应该寻求其他方法,就像这样说:An Ingress does not expose arbitrary ports or protocols. Exposing services other than HTTP and HTTPS to the internet typically uses a service of type Service.Type=NodePort or Service.Type=LoadBalancer.
,如果是这样,我应该使用哪些术语/技术?
答案 0 :(得分:2)
我建议使用一个入口,因为每个负载均衡器都会分配一个自己的外部IP。您可以指定自定义端口和协议(tcp,udp,http)。我使用过Nginx,但是文档似乎已经过时了(上周进行了最后检查)。因此,我们目前正在使用Traefik。 Web仪表板在调试方面也有很大帮助。
我们如何解决它:
通过带有自定义值的头盔安装traefik,因此它侦听80和443以外的其他端口;在您的values.yaml中添加自定义入口点,并使用以下命令安装traefik:
helm install --values values.yaml stable/traefik
安装您的入口http / tcp / udp路由
转发您的网络信息中心,然后转到http://localhost:9000/dashboard
有关更多详细步骤,请参阅官方文档:https://docs.traefik.io/getting-started/install-traefik/#use-the-helm-chart