gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 12:05:08 24 4
gpt4 key购买 nike

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

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

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

是否可以修改 L7 入口以将 mc1.example.com 重定向到正确容器的端口 25565?我需要使用 MetalLB 之类的东西吗? ?

最佳答案

This is also installed on bare metal - there is not a cloud L4 load balancer available, and a very limited pool of IP addresses (assume there are not enough to cover all the various Minecraft servers).



如果您没有足够的 IP 地址,MetalLB 不会帮助您,因为它只是使用 BGP 来为您提供虚拟主机,但您必须提供虚拟地址才能分发。根据您对情况和问题的描述,我敢说您正试图以便宜的方式做到这一点,而且——正如人们所预料的那样——没有资源很难工作。

那说:

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

因此它可能是 理论上可以制作一个 Minecraft 特定的虚拟主机代理,因为已经有相当多的协议(protocol)实现了。但是,可能必须研究协议(protocol)中的所有消息,以确保它们包含对实际连接 ID 的引用,否则您只能求助于 (client-ip, client-port)识别元组,有效地将您的服务器变成反向 NAT/PAT 实现。这可能没问题,请注意。

关于kubernetes - Kubernetes L7 入口能否用于非 HTTP 端口流量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54623954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com