websocket - 如何在 Google Kubernetes Engine 中设置 Websocket

标签 websocket kubernetes google-kubernetes-engine kubernetes-ingress

如何启用 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/

相关文章:

google-kubernetes-engine - GKE 系统 pod gke-metrics-agent OOMKilld

c# - SignalR 流仅在生产中强制刷新后才起作用

windows - Wildfly 10 上的 WebSocket 无法在 Windows 10 上运行

android - Whatsapp、Facebook 和 Skype 消息传递如何在后台运行?

kubernetes - 如何在Google Kubernetes Engine中保留pod生命周期状态和事件?

ssl - 如何在 Google Kubernetes Engine 上设置可扩展自定义域和自动 SSL 的架构

c# - 如何在 .Net 中优雅地关闭双向 WebSocket

postgresql - 如何通过 Spark 中的 jdbc 连接到 docker 托管的 postgresql 数据库?

linux - 使用 Kubernetes 增加 docker 容器的基本设备大小

集群内无法访问 Kubernetes POD