本文根据CodiLime工程总监KrzysztofKajkowski在“TF中文社区成立暨第一次会员大会”上的演讲整理而成。CodiLime工程总监KrzysztofKajkowski大家好,我是来自CodiLime的Kris,来自波兰,在TungstenFabric(以下简称TF)社区工作了五年。我想向您展示的是OpenStack和TungstenFabric的集成。由于TFSDN可以和其他ML2驱动一起运行,用户可以同时运行基于OVS、SR-IOV和vRouter的工作,可以将基于OVS的计算实时迁移到vRouter。这是基本结构。最底层是OpenStack,上面有SR-IOV、OVS、TF三种部署方式。在接下来的演示中,我将通过OpenStackWebUI创建多个虚拟机,虚拟机之间可以通过网络进行通信。OpenStack会编排和管理这些虚拟机,我们在后台运行ML2插件,在TF的vRouter中创建虚拟机和网络。本插件是TF与OpenStack的整合方案。这种集成让OpenStack可以和上面的SR-IOV、OVS等进行通信,我们这里运行的网络是Juniper的vMX。对于L2连接通信,我们使用vMX进行路由和交换。在L3上比较复杂,vMX充当路由器。所有这些后台功能都已在演示中预先配置。演示将分为四个部分:首先,为每个节点(即OVS、TF、SR-IOV)创建一个实例;然后我将展示实例之间的通信;我们还将演示实例与互联网之间的通信;最后,我将展示如何将OVS上的虚拟机迁移到TF。我从OpenStackUI创建了一个名为VM-MIGRATE的演示,然后通过vRouter实施迁移。首先我们启动OpenStack来创建一个实例。先创建一个OVS实例,然后再启动一个vRouter实例,放在同一个网络上,网络地址是50.50.50.X,这些都是通过OpenStack跑起来的。添加另一个SR-IOV实例,这些实例显示网络的端口。我们首先创建这三个实例,它们都在同一个网络上。这是TF的界面,上面我们看到保存了这些实例。所以没有问题,说明OpenStack已经通过vRouter实现了与TF的通信。接下来,我们看看这些实例之间的网络通信。我们通过控制面板登录OVS实例。然后我们pingvRouter的网络。它还对SR-IOV网络执行了ping操作。我们再次ping互联网,它已连接。所以我们看到这三个新创建的实例之间ping是没有问题的,都是在ping外网。最后,我们展示了迁移场景。有时不需要新建实例,只需要迁移虚拟机即可,但记得事后做网络验证测试。下面我们创建一个VM-MIGRATE的实例。可以看到这个实例已经出现在TF上了。我们在OpenStack上可以看到它的类型,是OVS类型,但是一会儿会变。现在开始迁移。点击迁移,选择一个节点,我们选择第四个节点,提交。现在正在迁移这个VM,最后应该迁移到note4了。OK,没问题,可以看到已经变成第四个节点了,IP地址也没有变。我们再看看它的实例类型,变成了vRouter。再从TF来看,没错,这里也有例子。让我们再次检查它的网络连接。ok,OVS、vRouter、SR-IOV的网络连接都没有问题。现在互联网连接正常了。这就是我的现场演示,谢谢!
