【发布时间】:2020-10-06 19:48:50
【问题描述】:
我想构建一个网络应用程序来处理来自用户网络摄像头的视频。看起来 WebRTC 非常适合这个项目。但是,我很难在用户机器和 Kubernetes 集群中的 pod 之间创建对等连接。您将如何连接这两个对等点?
关于服务器故障的这个问题讨论了我遇到的问题:WEBRTC MCU/SFU inside kubernetes - Port Ranges。 WebRTC 希望打开一堆端口,以便用户可以与服务器创建对等连接,但 Kubernetes 默认关闭端口。这是我的问题的改写:如何创建 RTCPeerConnections 将多个用户连接到 Kubernetes 集群中托管的应用程序?网络端口应该如何设置?
我最接近找到解决方案的是Orchestrating GPU-accelerated streaming apps using WebRTC,他们的代码可在GitHub 上找到。我不完全理解他们的做法,我相信这取决于Istio。
【问题讨论】:
-
"你将如何连接这两个对等点?"好吧,webrtc 使用 STUN/TURN 通过 NAT 连接……它是一个更复杂的协议,是的。你能澄清一下你问的是哪一部分吗?
-
没有 Istio 也可以拥有相同的架构
-
@Jonas 感谢您的帮助!我一直在为 STUN/TURN 服务器使用xirsys.com。我一直在使用github.com/aiortc/aiortc 作为我的服务器端代码。当我在我的个人计算机上运行我的服务器端代码时,用户可以连接。当我在 Kubernetes 集群中运行相同的代码时,用户无法连接。我想我需要打开网络,以便可以与集群中的 pod 建立对等连接,但我还没有找到最好的方法。
标签: kubernetes webrtc rtcpeerconnection