上一节我们介绍了 VXLAN 的基本概念,今天介绍如何在 ML2 中启用 VXLAN。
在 /etc/neutron/plugins/ml2/ml2_conf.ini 设置 vxlan network 相关参数。
tenant_network_types = vxlan
指定普通用户创建的网络类型为 vxlan。这里还使用了一个名为 “l2population” mechanism driver,我们放到后面单独介绍。
然后指定 vxlan 的范围。
上面的配置定义了 vxlan vni 的范围是 1001 - 2000。这个范围是针对普通用户在自己的租户里创建 vxlan network 的范围。因为普通用户创建 network 时并不能指定 vni,Neutron 会按顺序自动从这个范围中取值。
对于 admin 则没有 vni 范围的限制,admin 可以创建 vni 范围为 1-16777216 的 vxlan network。
接着需要在 [VXLAN] 中配置 VTEP。
控制节点 devstack_controller 的 ml2_conf.ini 配置如下:
计算节点 devstack_compute01 的 ml2_conf.ini 配置如下:
local_ip 指定节点上用作 VTEP 的 IP 地址。devstack_controller 的 VTEP IP 是 166.66.16.10,网卡为 eth1。devstack_compute01 的 VTEP IP 是 166.66.16.11,网卡为 eth1。
注意:作为准备工作,这两个 VTEP IP 需要提前配置到节点的 eht1 上,Neutron 并不会帮我们分配这个 IP。
下节我们将开始创建第一个 VXLAN。