美文网首页
opensips在k8s上的部署注意事项

opensips在k8s上的部署注意事项

作者: 安安爸Chris | 来源:发表于2019-07-23 19:03 被阅读0次

opensips部署在k8s上,需要采用

hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet

默认的方式下,网络会走k8s网关。无论是普通的数据包,还是上层协议。尤其是sip,我们发现sip消息在网关层上相当于一层proxy,这一层处理较为复杂(本人尚未搞的很通透)。

信令的传输首先在网关侧会做转发,路由由2层网络层控制。如外部的UAC向opensips发送注册消息.

我们先看一下k8s的网络部分


网络层级

pod里的各个容器共享一个网络,在我们目前的结构中,pod中只有一个容器。
opensips首先通过pod里的网关,该ip一般为10.x.x.1。网关会找到Veth设备对,找到容器内网地址;然后再由内网地址出局(可能经过公网地址,如果存在的话)

在这种网络下,注册消息的流程如下。过程可能跟上面描述相反,但不影响理解


正常注册流程

在这种网络情况下,每次重新部署opensips镜像时,k8s的pod网关似乎突然就不“工作”了。信令在这一层就不再转发了。

我个人的猜测可能是端口和服务(镜像)存在某种映射关系,镜像发生了改变,这层映射可能依然是老的,所以路由找不到了。当然这种猜测没有得到证实。


异常注册流程

相关文章

  • opensips在k8s上的部署注意事项

    opensips部署在k8s上,需要采用 默认的方式下,网络会走k8s网关。无论是普通的数据包,还是上层协议。尤其...

  • kubernetes 学习笔记

    k8s 产生的背景 粗略分为三个阶段 app 部署在操作系统上。 app 部署在虚拟机上 app 部署在容器上 1...

  • google-k8s部署试验

    版本 部署etcd 部署docker搭建私服 部署k8s的master 使用k8s做服务部署

  • k8s 安装部署

    k8s 部署 kubernetes(k8s)的部署有手动部署和 kubeadm 部署的方式. 还有一些简单的部署方...

  • k8s 上 go 微服务实战: go 实现 istio book

    在完成 k8s 上快速部署 go 服务 和 k8s: istio 入门 后, 继续 膨胀, 使用 go 来实现 i...

  • 二进制部署k8s集群

    部署k8s有多种方式,本章我们采取二进制的部署方式来部署k8s集群,二进制部署麻烦点,但是可以在我们通过部署各个组...

  • k8s-实际项目部署案例

    实际项目部署案例 容器交付流程 在K8s平台部署项目流程 在K8s平台部署Java网站项目 构建项目镜像 数据库搭...

  • k8s 部署jenkins

    k8s 部署jenkins 本篇主要讲解一下 jenkins 在 k8s 下面是如何部署的,主要对jenkins_...

  • Rocketmq的k8s配置(1nameservice + 1b

    RockerMQ在k8s的部署有两种方式, 一种是使用operator 在k8s集群中部署,可参考operatio...

  • k8s dashboard安装与访问

    本次部署的环境为centos7.6,k8s和dashboard部署步骤说明如下 k8s安装部署dashboard前...

网友评论

      本文标题:opensips在k8s上的部署注意事项

      本文链接:https://www.haomeiwen.com/subject/tnoalctx.html