如何启用 Google Kubernetes Engine 上的端口来接受 Websocket 连接?除了使用入口 Controller 之外,还有其他方法吗?
最佳答案
Google 的全局负载均衡器支持 Web 套接字,因此您可以使用 LoadBalancer
类型的 k8s Service
在集群之外公开此类服务。
请注意,以这种方式在 Kubernetes 外部创建和管理的负载均衡器的默认连接持续时间为 30 秒,这会干扰 Web 套接字操作并导致连接频繁关闭。这对于有效使用 Web 套接字几乎毫无用处。
直到this issue解决后,您需要手动修改此超时参数,或者(推荐)考虑使用集群内入口 Controller (例如 nginx),它可以为您提供更多控制。
关于websocket - 如何在 Google Kubernetes Engine 中设置 Websocket,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52231234/