一种虚拟机容器混合编排系统及其IPv6网络实现方法技术方案

技术编号:38208731 阅读:11 留言:0更新日期:2023-07-21 16:58
本发明专利技术提供了一种虚拟机容器混合编排系统及其IPv6网络实现方法,其中,IPv6网络实现方法用于虚拟机容器混合编排系统,虚拟机容器混合编排系统包括容器以及设置在容器内的虚拟机;IPv6网络实现方法包括:在容器中创建网桥设备;在容器中创建与网桥设备相连接的tap设备,tap设备用于连接网桥设备与虚拟机;获取容器内原有网卡的IPv6地址和MAC地址,将原有网卡的IPv6地址和MAC地址赋予至虚拟机;重置原有网卡,将重置后的原有网卡添加至网桥设备。本发明专利技术的技术方案能解决现有技术占用大量计算资源并加大网络延迟的问题。计算资源并加大网络延迟的问题。计算资源并加大网络延迟的问题。

【技术实现步骤摘要】
一种虚拟机容器混合编排系统及其IPv6网络实现方法


[0001]本专利技术涉及虚拟化
,尤其涉及一种虚拟机容器混合编排系统及其IPv6网络实现方法。

技术介绍

[0002]在当前主流的虚拟化技术中,虚拟机和容器是最常用的两种方式。虚拟机是通过软件模拟的、具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统;容器是一种沙盒技术,可以将应用运行在其中且与外界隔离。每个虚拟机拥有自己独立的客户操作系统,互不干扰,在每个客户操作系统上可以运行独立软件和应用。容器则直接运行在宿主机的操作系统上,多个容器可以共享同一主机操作系统。
[0003]如何实现虚拟机和容器的混合部署,是当前虚拟化技术的重要研究方向。为了能够统一管理虚拟机和容器,开源社区目前提供了一种思路,即将虚拟机进程运行在容器中,代表性的项目为Redhat公司开发的混合编排系统Kubevirt。通过使用Kubevirt,用户能够以创建容器的方式启动一台虚拟机,这样只需要一种资源编排系统Kubernetes即可达到统一管理编排资源的目的。目前主流的Kubevit中,虚拟机的IPv6网络支持均是通过Masquerade网络模式实现的。参见图1,图1为Kubevirt中Masquerade网络模式的结构示意图。虚拟机内的网卡ens4通过tap设备连接到位于容器的网桥br

eth0,构成虚拟机到容器内的网络通路。从虚拟机发出的IPv6网络流量到达网桥br

eth0后需要做一次SNAT操作(即改变原地址),以修改数据包内源IPv6地址,才能由容器内网卡eth0发送到容器外部;同样从容器外部发送到网卡eth0的IPv6网络流量需要做一次DNAT操作(即改变目的地址),以修改数据包的目的IPv6地址,才能由网桥br

eth0发送到虚拟机内部的网卡ens4中。
[0004]然而,无论是从虚拟机内发送到容器外部,还是从容器外部到虚拟机内的IPv6网络流量都需要做NAT操作,以修改数据包,同时网络流量还需经过一次路由选择,这将占用大量计算资源并加大网络延迟。另外,用户对虚拟机的访问是通过访问对应容器的IPv6地址实现的,当虚拟机的IPv6地址与对应容器的IPv6地址不同时,会对用户造成困扰,影响用户体验。

技术实现思路

[0005]本专利技术提供一种虚拟机容器混合编排系统及其IPv6网络实现方案,旨在解决现有技术占用大量计算资源并加大网络延迟的问题。
[0006]为解决上述问题,根据本专利技术的第一方面,本专利技术提出了一种虚拟机容器混合编排系统的IPv6网络实现方法,用于虚拟机容器混合编排系统,虚拟机容器混合编排系统包括容器,以及设置在容器内的虚拟机;IPv6网络实现方法包括:
[0007]在容器中创建网桥设备;
[0008]在容器中创建与网桥设备相连接的tap设备,tap设备用于连接网桥设备与虚拟机;
[0009]获取容器内原有网卡的IPv6地址和MAC地址,将原有网卡的IPv6地址和MAC地址赋予至虚拟机;
[0010]重置原有网卡,将重置后的原有网卡添加至网桥设备。
[0011]优选的,上述IPv6网络实现方法中,重置原有网卡,将重置后的原有网卡添加至网桥设备的步骤,包括:
[0012]关闭容器内原有网卡,重命名原有网卡;
[0013]移除原有网卡的IPv6地址,重置原有网卡的MAC地址;
[0014]当重置所述原有网卡的MAC地址后,开启所述原有网卡;
[0015]将重命名后的原有网卡的IPv6地址添加至网桥设备中。
[0016]优选的,上述IPv6网络实现方法中,重置原有网卡的MAC地址的步骤之后还包括:
[0017]在容器内创建虚拟网卡;
[0018]将虚拟网卡的名称设置为重命名前原有网卡的名称;
[0019]将原有网卡的原有IPv6地址赋予虚拟网卡。
[0020]优选的,上述IPv6网络实现方法,将重置后的原有网卡添加至网桥设备的步骤之后还包括:
[0021]获取原有网卡的原有IPv6地址和原有MAC地址;
[0022]在容器内启动DHCPv6服务器,将DHCPv6服务器监听在网桥设备;
[0023]当DHCPv6服务器监听到来自所述MAC地址对应客户端的IPv6地址获取请求时,为客户端分配原有网卡的原有IPv6地址。
[0024]优选的,上述IPv6网络实现方法,为客户端分配原有网卡的IPv6地址的步骤之前还包括:
[0025]客户端向链路内多播地址发送路由请求消息,以使链路内的路由通告服务器返回路由通告消息;
[0026]客户端根据路由通告消息,设置IPv6网络栈的路由信息。
[0027]优选的,上述IPv6网络实现方法,在将重置后的原有网卡添加至网桥设备的步骤之后还包括:
[0028]获取原有网卡的原有IPv6路由信息和原有MAC地址;
[0029]判断原有IPv6路由信息是否包括原有网卡的IPv6默认路由地址;
[0030]若原有IPv6路由信息包括原有网卡的IPv6默认路由地址,则根据原有网卡的IPv6默认路由地址,获取链路内默认路由的链路本地地址;
[0031]将链路内默认路由的链路本地地址添加至网桥设备;
[0032]使用原有网卡的原有IPv6路由信息构建路由通告消息,将路由通告消息的头部源地址设置为所述链路本地地址;
[0033]在容器内启动路由通告服务器,使用路由通告服务器定期向虚拟机发送路由通告。
[0034]优选的,上述IPv6网络实现方法,在判断IPv6路由信息是否包括原有网卡的IPv6默认路由地址的步骤之后还包括:
[0035]若IPv6路由信息不包括原有网卡的IPv6默认路由地址,则使用原有网卡的IPv6路由信息构建路由通告消息,设置路由通告消息的头部源地址为空,且有效生命周期为0;
[0036]在容器内启动路由通告服务器,将路由通告服务器监听在网桥设备,使用路由通告服务器定期向虚拟机发送路由通告。
[0037]优选的,上述IPv6网络实现方法,在获取链路内默认路由的链路本地地址的步骤之后还包括:
[0038]关闭网桥设备的IPv6地址冲突检测功能;
[0039]在容器内设置IPv6防火墙,其中,IPv6防火墙用于拒绝所有发送至网桥设备的默认路由链路本地地址邻居发现请求;
[0040]在容器内添加到达虚拟机的链路本地地址的静态邻居条目。
[0041]根据本专利技术的第二方面,本专利技术还提供了一种虚拟机容器混合编排系统,包括:容器以及设置在容器内的虚拟机;该虚拟机容器混合编排系统还包括:
[0042]网桥创建模块,用于在容器中创建网桥设备;
[0043]设备创建模块,用于在容器中创建与网桥设备相连接的tap设备,tap设备用于连接网桥设备与虚拟机;
[0044]第一地址获取模块,用于获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种虚拟机容器混合编排系统的IPv6网络实现方法,其特征在于,用于虚拟机容器混合编排系统,所述虚拟机容器混合编排系统包括容器,以及设置在所述容器内的虚拟机;所述IPv6网络实现方法包括:在所述容器中创建网桥设备;在所述容器中创建与所述网桥设备相连接的tap设备,所述tap设备用于连接所述网桥设备与所述虚拟机;获取所述容器内原有网卡的IPv6地址和MAC地址,将所述原有网卡的IPv6地址和MAC地址赋予至所述虚拟机;重置所述原有网卡,将重置后的所述原有网卡添加至所述网桥设备。2.根据权利要求1所述的IPv6网络实现方法,其特征在于,所述重置所述原有网卡,将重置后的所述原有网卡添加至所述网桥设备的步骤,包括:关闭容器内所述原有网卡,重命名所述原有网卡;移除所述原有网卡的IPv6地址,重置所述原有网卡的MAC地址;当重置所述原有网卡的MAC地址后,开启所述原有网卡;将重命名后的所述原有网卡添加至所述网桥设备中。3.根据权利要求2所述的IPv6网络实现方法,其特征在于,所述重置所述原有网卡的MAC地址的步骤之后,所述方法还包括:在所述容器内创建虚拟网卡;将所述虚拟网卡的名称设置为重命名前所述原有网卡的名称;将所述原有网卡的原有IPv6地址赋予所述虚拟网卡。4.根据权利要求1所述的IPv6网络实现方法,其特征在于,所述将重置后的所述原有网卡添加至所述网桥设备的步骤之后,所述方法还包括:获取所述原有网卡的原有IPv6地址和原有MAC地址;在所述容器内启动DHCPv6服务器,将所述DHCPv6服务器监听在所述网桥设备;当所述DHCPv6服务器监听到来自所述MAC地址对应客户端的IPv6地址获取请求时,为所述客户端分配所述原有网卡的原有IPv6地址。5.根据权利要求4所述的IPv6网络实现方法,其特征在于,所述为所述客户端分配所述原有网卡的原有IPv6地址的步骤之前,所述方法还包括:所述客户端向链路内多播地址发送路由请求消息,以使所述链路内的路由通告服务器返回路由通告消息;所述客户端根据所述路由通告消息,设置IPv6网络栈的路由信息。6.根据权利要求1所述的IPv6网络实现方法,其特征在于,所述将重置后的所述原有网卡添加至所述网桥设备的步骤之后,所述方法还包括:获取所述原有网卡的原有IPv6路由信息和原有MAC地址;判断所述原有IPv6路由信息是否包括所述原有网卡的IPv6默认路由地址;若所述原有IPv6路由信息包括所述原有网卡的IPv6默认路由地址,则根据所述原有网卡的IPv6默认路由地址,获取链路内默认路由的链路本地地址;将所述链路内默认路由的链路本地地址添加至所述网桥设备;...

【专利技术属性】
技术研发人员:张凯航徐文豪王弘毅张凯
申请(专利权)人:北京志凌海纳科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1