【技术实现步骤摘要】
一种容器中运行虚拟机的网络实现方法、系统、设备及介质
[0001]本专利技术涉及云计算
、
容器
,具体地说是一种容器中运行虚拟机的网络实现方法
、
系统
、
设备及介质
。
技术介绍
[0002]kubevirt
是目前主流的
Kubernetes
纳管虚拟机的技术,每个
kubevirt
虚拟机对应于
Kubernetes
的一个
VMI
对象和一个
Pod
对象,每个
kubevirt
虚拟机对应的
Pod
中都会启动单独的
virt
‑
launcher
进程和
libvirtd
进程
,virt
‑
launcher
进程监听
kubevirt
虚拟机
VMI
对象的配置变化,更新虚拟机
xml
配置并下发到
Pod
内的
libvirtd
进程,
libvirtd
进程根据虚拟机
xml
配置管理虚拟机
qemu
进程的生命周期
。
[0003]由于
Kubernetes
本身对
Pod
网络一些规范
(CNI)
要求,
kubevirt
虚拟 ...
【技术保护点】
【技术特征摘要】 【专利技术属性】
1.
一种容器中运行虚拟机的网络实现方法,其特征在于,该方法是通过
tc mirred
技术将容器内虚拟机的
tap
端口与连接
CNI
数据面模块的
veth pair
设备端口网络打通,减少虚拟机网络与
CNI
数据面模块之间的数据链路长度,并跳过容器网络命名空间的内核网络协议栈处理;具体如下:在容器内虚拟机
tap
端口上创建第一
tc ingress
队列;基于第一
tc ingress
队列创建第一
tc mirred
策略,用于拦截虚拟机
tap
端口的
ingress
流量并重定向至容器内
veth pair
设备端口;在容器内
veth pair
设备端口上创建第二
tc ingress
队列;基于第二
tc ingress
队列创建第二
tc mirred
策略,用于拦截容器内
veth pair
设备端口的
ingress
流量并重定向至虚拟机
tap
端口
。2.
根据权利要求1所述的容器中运行虚拟机的网络实现方法,其特征在于,在容器内虚拟机
tap
端口上创建第一
tc ingress
队列以及在容器内
veth pair
设备端口上创建第二
tc ingress
队列具体如下:在拥有独立网络命名空间的
Pod
内运行一台虚拟机,虚拟机拥有一张或者多张网卡,虚拟机的每张网卡在
Pod
内都有一个一一对应且能与虚拟机通信的
tap
端口,虚拟机的一个或者多个
tap
端口位于
Pod
网络命名空间中;虚拟机的每个
tap
端口都与一个
veth pair
设备一一对应,每个
veth pair
设备设有两个端口,分别为
veth pair
设备第一端口和
veth pair
设备第二端口;其中,
veth pair
设备第一端口位于
Pod
所属节点的默认网络命名空间中,并与
Pod
所属节点的
CNI
数据面模块连接;
veth pair
设备第二端口位于
Pod
网络命名空间中;在
Pod
命名空间内,在虚拟机一个或者多个
tap
端口上分别创建各自的第一
tc ingress
队列,用于缓冲一个或者多个
tap
端口各自的
ingress
流量;在
Pod
命名空间内,在虚拟机一个或者多个
tap
端口对应
veth pair
设备第二端口上分别创建各自的第二
tc ingress
队列,用于缓冲一个或者多个
tap
端口对应
veth pair
设备第二端口各自的
ingress
流量
。3.
根据权利要求1或2所述的容器中运行虚拟机的网络实现方法,其特征在于,基于第一
tc ingress
队列创建第一
tc mirred
策略,用于拦截虚拟机
tap
端口的
ingress
流量并重定向至容器内
veth pair
设备端口具体如下:基于虚拟机一个或者多个
tap
端口所创建的各自第一
tc ingress
队列分别创建各自第一
tc mirred
策略,将虚拟机一个或者多个
tap
端口
ingress
流量拦截并重定向至虚拟机一个或者多个
tap
端口对应
veth pair
设备第二端口;其中,虚拟机一个或者多个
tap
端口的
ingress
流量是指一个或者多个
tap
端口对应虚拟机网卡的上行流量
。4.
根据权利要求3所述的容器中运行虚拟机的网络实现方法,其特征在于,基于第二
tc ingress
队列创建第二
tc mirred
策略,用于拦截容器内
veth pair
设备端口的
ingress
流量并重定向至虚拟机
tap
端口具体如下:基于虚拟机一个或者多个
tap
端口对应
veth pair
设备第二端口所创建的各自第二
tc ingress
队列分别创建各自第二
tc mirred
策略,将一个或者多个
tap
端口对应
veth pair
设备第二端口的
ingress
流量拦截并重定向至一个或者多个
tap
端口;其中,一个或者多个
tap
端口对应
veth pair
设备第二端口的
ingress
流量是指一个或者多个
tap
端口对应虚拟机网
卡的下行流量
。5.
根据权利要求3所述的容器中运行虚拟机的网络实现方法,其特征在于,第一
tc mirred
策略的方向为
egress
;第一
tc mirred
策略的动作为
redirect
;第一
tc mirred
策略的目标端口为
veth pair
设备第二端口;第一
tc mirred
策略的缓冲队列为第一
tc mirred
策略关联的第一
tc ingress
队列;第一
tc mirred
技术研发人员:廖桥生,李明,金伟毅,种保中,
申请(专利权)人:苏州思萃工业互联网技术研究所有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。