openstack使用openvswitch实现vxlan,分享给大家,具体如下:

openstack环境:

1 版本:ocata

2 系统:ubuntu16.04.2

3 控制节点 1个 + 计算节点 1个

4 控制节点网卡为ens33,ip = 172.171.5.200 ens34 manual模式 无IP

一 下载openswitch

controller :

1
apt-get install neutron-openvswitch-agent

compute :

1
apt-get install neutron-openvswitch-agent

二 配置openvswitch

配置 /etc/neutron/plugins/ml2/ml2_conf.ini 文件

etc/neutron/plugins/ml2/openvswitch_agent.ini 在[ovs]增加

配置 /etc/neutron/l3_agent.ini

配置修改/etc/neutron/plugins/ml2/ml2_conf.ini 设置如下

配置修改/etc/neutron/plugins/ml2/openvswitch_agent.ini 设置如下

增加用于外部网络的网桥

1
ovs-vsctl add-br br-ex

向外部网桥添加物理网卡

1
ovs-vsctl add-port br-ex ens33

三 dashboard配置租户网络

1 使用admin用户登录,创建外部网络。

2 以demo用户登录,创建内网。因为在后台配置时已经选择了内部网络为vxlan,所以demo用户创建的网络为vxlan。

这里配置的网段是创建的实例能够分配的地址。

创建好内网和外网之后,创建一个路由器连接两个网段。在这个路由器上完成的功能是NAT,当实例出外网时,将内网地址NAT成外网地址以便访问公网。

当网络创建好之后,网络拓扑应该是如下图所示。蓝色为公网网段,黄色为私网网段,中间是路由器,连接黄色的为开启的实例。

四 底层网络分析

与Linux-bridge不同,使用Openvswitch作为网络驱动之后创建vxlan网络会生成在controller生成三个网桥,分别是:

br-int 连接 Dnsmasq,流表逻辑处理

br-ex 连接网卡,出外网网桥

br-tun 隧道端点

在compute节点生成两中网桥,分别是:

br-int 连接虚拟机

br-tun 隧道端点,连接到controller。

如下图所示,分别是controller与compute节点的br-tun分析。

local_ip为本地隧道端点IP地址,remote_ip为对端隧道端点IP地址。本环境是管理网卡为隧道端点,也可以使用单独的网卡。

具体如下图所示:

下图为 compute节点的br-int网桥,网桥上挂有两个端点,第一个是与实例有关,第二个连接br-tun

具体见下图compute节点

下图为controller节点的端口信息,第一个为controller上br-int与br-tun的连接;第二个是dhcp的设备;第三个是dashboard中创建的路由器的一端;第四个是br-int与br-ex的连接。

上图对应的连接为下图所示

下图为controller节点的br-ex网桥,三个端口分别是:

1 路由器的另一端(还有一端在br-int)

2 自身环回口,类似linux中的环回口。

3 外网网卡

上图对应的关系如下图所示:

openstack使用openvswitch实现的VxLAN就如下图所示。图片出处为about 云 。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

最新文章

  1. bootstrap 20161012
  2. Robberies(简单的01背包 HDU2955)
  3. why slow thinking wins
  4. 一年三篇IF大于7的牛人告诉你怎么写SCI
  5. JVM类加载过程学习总结
  6. 在windows server里,对于同一个账号,禁止或允许多个用户使用该账户,同时登录
  7. Android真机连接手机Target显示unknown cmd命令下adb devices 显示offline
  8. 将cookie 转换成字典格式
  9. Cs231n课堂内容记录-Lecture1 导论
  10. [macOS] PHP双版本,5.6跟7.1
  11. vue移动端金融UI组件库滴滴MandMobile面向金融场景设计附功能思维导图
  12. 一道Javascript面试题引发的血案
  13. 快速排序|2018年蓝桥杯B组题解析第五题-fishers
  14. python 四种数值类型(int,long,float,complex)介绍
  15. 手动安装gradle
  16. Spring注解大全,汇总版
  17. Android -- Messenger与Service
  18. 51、自定义View基础和原理
  19. win7查看端口占用
  20. flask 快速入门链接

热门文章

  1. Spring Boot 全局异常处理
  2. Inno Setup打包带有MSI文件的程序
  3. ROS多根adsl叠加负载均衡PCC的做法
  4. PVID和VID彻底研究(上) ——PVID的作用及和VID的区别
  5. CentOS 7下Samba服务安装与配置详解
  6. [STM32F103]RTC日历
  7. mysql-5.7.20
  8. Android自定义万能Canvas画布
  9. C# VS2017的.net Core1.0项目在版本升级为2.0后找不到程序集的处理办法
  10. CentOS7 部署zabbix4.2