如何启用Google Kubernetes Engine上的端口以接受WebSocket连接?除了使用入口 Controller 之外,还有其他方法吗?
最佳答案
Google的全局负载平衡器支持Web套接字,因此您可以使用Service
类型的k8s LoadBalancer
将此类服务公开到您的集群之外。
请注意,以这种方式在Kubernetes外部创建和管理的负载均衡器的默认连接持续时间为30秒,这会干扰Web套接字操作并会导致频繁关闭连接。要有效使用Web套接字,这几乎是没有用的。
在解决this issue之前,您将需要手动修改此超时参数,或者(建议)考虑使用可为您提供更多控制权的集群内入口 Controller (例如nginx)。