Kubernetes L7入口能否用于非HTTP端口流量?

Kubernetes L7入口能否用于非HTTP端口流量?,kubernetes,kubernetes-ingress,nginx-ingress,Kubernetes,Kubernetes Ingress,Nginx Ingress,我有两个不同的Minecraft服务器容器正在运行,都设置为使用默认的TCP端口25565。为了简化外行的连接,我希望每个服务器都有一个专用的子域,比如mc1.example.com和mc2.example.com,这样他们只需要输入地址,客户端就可以连接 对于HTTP(s)服务,NGINX L7入口工作正常,但它似乎不适用于Minecraft。NodePort工作正常,但是每个服务器都需要一个不同的端口 这也安装在裸机上-没有可用的cloud L4负载平衡器,并且IP地址池非常有限(假设没有足

我有两个不同的Minecraft服务器容器正在运行,都设置为使用默认的TCP端口25565。为了简化外行的连接,我希望每个服务器都有一个专用的子域,比如mc1.example.com和mc2.example.com,这样他们只需要输入地址,客户端就可以连接

对于HTTP(s)服务,NGINX L7入口工作正常,但它似乎不适用于Minecraft。NodePort工作正常,但是每个服务器都需要一个不同的端口

这也安装在裸机上-没有可用的cloud L4负载平衡器,并且IP地址池非常有限(假设没有足够的IP地址覆盖所有各种Minecraft服务器)

可以修改L7入口以将mc1.example.com重定向到正确的容器端口25565吗?我需要用像这样的东西吗

这也安装在裸机上-没有可用的cloud L4负载平衡器,并且IP地址池非常有限(假设没有足够的IP地址覆盖所有各种Minecraft服务器)

如果您没有足够的IP地址,那么MetalLB将不会帮助您,因为它只是为您使用BGP到v-host,但您必须提供虚拟地址。根据你对情况和问题的描述,我冒昧地说,你正试图以低廉的成本完成这项工作,正如人们所料,没有资源很难工作

也就是说:

据我所知,中没有重定向,但有趣的是,客户端确实发送了它试图连接的主机名。这可能是利用了,也可能不是,我没有研究它的源代码


因此,从理论上讲,制作一个特定于Minecraft的虚拟主机代理是可能的,因为该协议已经有相当多的实现。但是,您可能必须研究协议中的所有消息,以确保它们包含对实际连接id的引用,否则您只能求助于
(客户端ip,客户端端口)
标识元组,从而有效地将您的服务器转换为反向NAT/PAT实现。那可能很好,小心点。

我很感激——这正是我想要的。我想我现在只会使用NodePort,对于kicks和giggles,我会考虑使用一个更整洁的重定向设置。谢谢