如何在Google Kubernetes Engine中设置websocket

问题描述 投票:1回答:2

如何在Google Kubernetes Engine上启用端口以接受websocket连接?除了使用入口控制器之外,还有其他方法吗?

websocket kubernetes google-kubernetes-engine kubernetes-ingress
2个回答
1
投票

Google的全局负载均衡器支持Web套接字,因此您可以使用Service类型的k8s LoadBalancer在集群之外公开此类服务。

请注意,以这种方式在Kubernetes外部创建和管理的负载平衡器将具有30秒的默认连接持续时间,这会干扰Web套接字操作并将导致连接频繁关闭。这对于有效使用的Web套接字几乎没用。

在解决this issue之前,您需要手动修改此超时参数,或者(推荐)考虑使用集群内入口控制器(例如nginx),它可以为您提供更多控制。


1
投票

根据GCP文档中的this article,您可以通过4种方式向外部应用程序公开服务。

它可以用ClusterIP,NodePort(TCP/UDP) Load Balancer或外部名称暴露。

© www.soinside.com 2019 - 2024. All rights reserved.