我目前托管一个与谷歌游戏服务器(https://cloud.google.com/game-servers)的游戏服务。这基本上是在GKE中运行Agones。这在很大程度上是很好的工作,除非涉及到iPv6。
我很难找到任何关于如何使这种设置与iPv6兼容的建议。看起来这应该是https://cloud.google.com/load-balancing/docs/ipv6的答案,但是Agones是设置在跨端口范围运行服务器的,因为它会启动和关闭服务器,而且我似乎需要有一个特定的端口和非持久的连接到特定的机器,才能使用googles负载均衡器解决方案。
作为参考,这是一个依赖于NodeJS通信的socket.io后端。
如有任何建议,将不胜感激。
发布于 2020-10-02 17:36:15
正如在评论中已经指出的,Google 不支持IPv6连接:
不支持IPv6。一些面向公共的服务,如HTTPS负载平衡器确实支持IPv6,但这不会帮助您处理内部服务。-约翰·汉利9月29日12:23
如果您的堆栈需要IPv6连接,那么不幸的是,您目前无法在Google引擎上部署它,因为它受与GCP上的任何其他计算资源相同的规则约束,并且使用相同的VPC网络E 215。
正如您在官方VPC规格中所读到的
VPC网络只支持IPv4 单播流量。它们不支持,不支持网络中的广播、多播或IPv6流量;VPC网络中的VM只能发送到IPv4目的地,并且只能从IPv4源接收流量。但是,可以为一个IPv6创建一个全局负载均衡器地址。
至于全球负载平衡器(确实支持IPv6),这里是您需要的全部信息:
Google支持IPv6客户端的HTTP(S)负载平衡、SSL代理负载平衡和TCP代理负载平衡。负载平衡器接受来自用户的IPv6连接,然后将这些连接代理到后端。 您可以为以下内容配置IPv4和IPv6外部地址:
它们各自支持的协议和端口范围都列在各自的规范中(上面提供的所有链接)。
这不影响SSL代理负载平衡器。外部转发规则用于SSL负载均衡器的定义,只能引用TCP端口25、43、110、143、195、443、465、587、700、993、995、1883、3389、5222、5432、5671、5672、5900、5901、6379、8085、8099、9092、9200和9300。具有不同TCP目标端口的流量不会转发到负载均衡器的后端.
TCP代理负载平衡用于特定著名端口上的TCP流量,例如用于简单邮件传输协议(SMTP)的端口25。有关更多信息,请参见港口规格。对于在这些端口上加密的客户端通信量,请使用SSL代理负载平衡。
但有一个警告:
注意: TCP代理负载平衡不支持端口80或8080。对于HTTP流量,请使用HTTP(S)负载平衡。
当涉及到外部HTTP(S)负载平衡时,它的名字本身就说明了问题。
所以,如果您需要像前面提到的那样使用任意的端口范围,答案是:不,不幸的是,您不能使用Google负载平衡解决方案
https://stackoverflow.com/questions/64110542
复制相似问题