有什么方法可以处理Kubernetes中的SIP,RTP,DIAMETER,M3UA流量吗? [英] Is there some way to handle SIP, RTP, DIAMETER, M3UA traffic in Kubernetes?

查看:94
本文介绍了有什么方法可以处理Kubernetes中的SIP,RTP,DIAMETER,M3UA流量吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

通过快速阅读Kubernetes文档,我注意到kube-proxy充当Level-4代理,并且可能对TCP/IP流量(例如通常为HTTP流量)非常有效.

From a quick read of the Kubernetes docs, I noticed that the kube-proxy behaves as a Level-4 proxy, and perhaps works well for TCP/IP traffic (s.a. typically HTTP traffic).

但是,还有其他协议,例如SIP(可以通过TCP或UDP),RTP(可以通过UDP)以及核心电信网络信令协议,例如DIAMETER(通过TCP或SCTP)或类似的M3UA(通过SCTP) .在Kubernetes奴才中运行的应用程序中是否可以处理此类流量?

However, there are other protocols like SIP (that could be over TCP or UDP), RTP (that is over UDP), and core telecom network signaling protocols like DIAMETER (over TCP or SCTP) or likewise M3UA (over SCTP). Is there a way to handle such traffic in application running in a Kubernetes minion ?

在我的阅读中,我遇到了Kuberntes的Ingress API的概念,但是我知道这是扩展代理功能的一种方式.那是对的吗 ?

In my reading, I have come across the notion of Ingress API of Kuberntes, but I understood that it is a way to extend the capabilities of the proxy. Is that correct ?

而且,确实存在当前没有已知的Ingress API实现(开源或闭源),该实现可以允许Kubernetes集群处理上面列出的流量类型?

Also, it is true that currently there is no known implementation (open-source or closed-source) of Ingress API, that can allow a Kubernetes cluster to handle the above listed type of traffic ?

最后,除了使用Ingress API之外,即使有性能限制,也没有办法处理上面列出的流量吗?

Finally, other than usage of the Ingress API, is there no way to deal with the above listed traffic, even if it has performance limitations ?

推荐答案

而且,确实存在当前没有已知的Ingress API实现(开源或闭源),该实现可以允许Kubernetes集群处理上面列出的流量类型?

Also, it is true that currently there is no known implementation (open-source or closed-source) of Ingress API, that can allow a Kubernetes cluster to handle the above listed type of traffic ?

可能和 IBM在IBM Voice Gateway上进行的研究设置高可用性"

(此处带有 SIP(​​会话发起协议)

Kubernetes部署

在Kubernetes术语中,单个语音网关实例等同于单个吊舱,其中包含SIP Orchestrator容器和Media Relay容器.
语音网关Pod已安装到Kubernetes群集中,该群集由外部SIP负载平衡器作为前端.
通过Kubernetes,可以将语音网关Pod安排为在VM群集上运行.该框架还监视Pod,并且可以配置为在检测到故障时自动重新启动语音网关Pod.

Kubernetes deployments

In Kubernetes terminology, a single voice gateway instance equates to a single pod, which contains both a SIP Orchestrator container and a Media Relay container.
The voice gateway pods are installed into a Kubernetes cluster that is fronted by an external SIP load balancer.
Through Kubernetes, a voice gateway pod can be scheduled to run on a cluster of VMs. The framework also monitors pods and can be configured to automatically restart a voice gateway pod if a failure is detected.

注意:由于当前不支持Kubernetes中SIP负载平衡器自动缩放和自动发现新Pod,因此需要外部SIP .

并且,为了说明Kubernetes的局限性:

And, to illustrate Kubernetes limitations:

由于语音网关使用的协议,在Kubernetes环境中运行IBM Voice Gateway除了部署典型的基于HTTP的应用程序外,还需要特殊考虑.

Running IBM Voice Gateway in a Kubernetes environment requires special considerations beyond the deployment of a typical HTTP-based application because of the protocols that the voice gateway uses.

语音网关依赖于SIP协议来进行呼叫信令,而RTP协议则需要针对媒体,这两者都需要与特定语音网关实例相关联.为了避免破坏会话亲缘关系,必须绕过这些协议的Kubernetes入口路由器.

要解决入口路由器的限制,必须在主机网络模式下配置语音网关容器.
在主机网络模式下,当在任何一个语音网关容器中打开端口时,那些相同的端口也会被打开并映射到基础虚拟机或节点上.
这种配置还消除了在Kubectl配置文件中定义媒体端口范围的需要,而Kubernetes当前不支持该文件.在主机网络模式下,每个节点仅部署一个Pod,可确保SIP和媒体端口在主机VM上打开并且对SIP负载平衡器可见.

To work around the limitations of the ingress router, the voice gateway containers must be configured in host network mode.
In host network mode, when a port is opened in either of the voice gateway containers, those identical ports are also opened and mapped on the base virtual machine or node.
This configuration also eliminates the need to define media port ranges in the kubectl configuration file, which is not currently supported by Kubernetes. Deploying only one pod per node in host network mode ensures that the SIP and media ports are opened on the host VM and are visible to the SIP load balancer.


此答案中可以最好地说明为Kubernetes设置的网络配置,其中描述了pod/节点通信:


That network configuration put in place for Kubernetes is best illustrated in this answer, which describes the elements involved in pod/node-communication:

这篇关于有什么方法可以处理Kubernetes中的SIP,RTP,DIAMETER,M3UA流量吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆