kube-ovn kube-virt 虚拟机热迁移的实现

  1. 虚拟机热迁移要求虚拟机的主网卡是masquerade,其他网卡可以是bridge模式,也可以是其他模式

在热迁移过程中,libvirt需要基于主网卡做内存拷贝,要求网络不能断开。

KubeVirt 的热迁移在网络方面面临很大的挑战,尤其是在固定 IP 的场景下,如何保证 IP 不冲突就变的更为复杂。由于 KubeVirt 在热迁移中使用 default network 进行状态的同步,通过结合 multus-cni 将业务网络和迁移网络分离,我们可以在功能层面实现热迁移过程中的地址固定。

image.png

bridge

In bridge mode, virtual machines are connected to the network backend through a linux "bridge". The pod network IPv4 address is delegated to the virtual machine via DHCPv4. The virtual machine should be configured to use DHCP to acquire IPv4 addresses.

网桥模式,即pod内部会再建一个linux bridge,eth0桥接到linux bridge上,然后再创建一个比如veth-pair,一端连到linux bridge,另一端放到虚拟机里面。

masquerade

In masquerade mode, KubeVirt allocates internal IP addresses to virtual machines and hides them behind NAT. All the traffic exiting virtual machines is "NAT'ed" using pod IP addresses. A guest operating system should be configured to use DHCP to acquire IPv4 addresses.

伪装模式,基于iptables nat来将流量转发入虚拟机。

ps: kube-ovn 1.10 dpdk feature 尚未进行虚拟机热迁移的测试

  1. kube-ovn 关于 vm 场景的支持
    参考: https://mp.weixin.qq.com/s/BdCqoUIn0uEsDXmw8-IulQ

Kube-OVN 经过长时间的迭代目前支持了:

VM 创建时指定 IP,VM 生命周期内地址保持固定
VM 创建时随机地址分配,VM 生命周期内地址保持固定
VM 热迁移过程中业务网卡保持地址固定

参考: https://mp.weixin.qq.com/s/53Ouc6pth9jeGDuiNFC9Iw

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容