当前位置: 首页 > 编程笔记 >

openstack使用openvswitch实现vxlan的方法

孟乐
2023-03-14
本文向大家介绍openstack使用openvswitch实现vxlan的方法,包括了openstack使用openvswitch实现vxlan的方法的使用技巧和注意事项,需要的朋友参考一下

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 :

apt-get install neutron-openvswitch-agent

compute :

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 设置如下

增加用于外部网络的网桥

ovs-vsctl add-br br-ex 

向外部网桥添加物理网卡

ovs-vsctl add-port br-ex ens33

三 dashboard配置租户网络

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

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

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

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

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

四 底层网络分析

与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 云 。

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

 类似资料:
  • openvswitch

  • VXLAN 模式下,网络的架构跟 GRE 模式类似,所不同的是,不同节点之间通过 VXLAN 隧道互通,即虚拟化层是采用的 VXLAN 协议。 基本结构如下图所示。 其中,节点网络配置如下所示,注意数据网络接口需要 IP 地址,因为是隧道协议需要底下的三层转发支持。 控制节点 eth0: 9.186.100.77/24 作为管理网络(同时也是公共网络)。 eth1: 10.0.100.77/24

  • 本文向大家介绍Openstack 使用migrate进行数据库升级实现方案详细介绍,包括了Openstack 使用migrate进行数据库升级实现方案详细介绍的使用技巧和注意事项,需要的朋友参考一下 Openstack 使用migrate进行数据库升级实现方案详细介绍 OpenStack中随着版本的切换,新版本加入一些数据库表或者增加字段等是必然的事情,如何比较容易的进行这些数据库升级的适配和管理

  • Neutron 是 OpenStack 项目中负责提供网络服务的组件,它基于软件定义网络的思想,实现了网络虚拟化下的资源管理,本书将剖析 Neutron 组件的原理和实现。

  • 本文向大家介绍使用OPENLAYERS3实现点选的方法,包括了使用OPENLAYERS3实现点选的方法的使用技巧和注意事项,需要的朋友参考一下 WebGIS开发中,点击查询是最常用的一种查询方式,在ArcGIS api 中,这种查询叫IdentifyTask,主要作用是前台提交参数,交ArcServer查询分析返回。本文从开源框架的角度,从前台到服务端到数据库等多个角度,多种方式实现点击查询。干货

  • 问题内容: 常见问题:在Java中实现默认方法的覆盖时,与仅将已实现的方法与将独立逻辑写入equals方法相比,我应该担心什么?我注意到有人在另一个问题中提及,该问题返回false而抛出。是什么使这些不一致的结果成为理想的功能? 采样方法: 编辑: 引用可比文档 当且仅当e1.compareTo(e2)== 0对于C类的每个e1和e2具有与e1.equals(e2)相同的布尔值时,才可以认为C类的