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成外网地址以便访问公网。

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

四 底层网络分析

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

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

(0)

相关推荐

  • Docker如何使用OpenvSwitch网桥

    Docker 默认使用的是 Linux 自带的网桥实现,实际上,OpenvSwitch 项目作为一个成熟的虚拟交换机实现,具备更丰富的功能.个人认为,将来 Docker 必然会支持 OpenvSwitch 作为其默认网桥实现.有兴趣的同学欢迎通过如下的步骤来尝鲜. 环境 在 Ubuntu 14.04 系统中进行测试.操作流程也适用于 RedHat/CentOS 系列系统,但少数命令和配置文件可能略有差异. 安装 Docker 安装最近版本的 Docker 并 启动服务. $ sudo apt-g

  • linux下open-vswitch安装卸载操作

    一. ovs 从源码编译安装: 安装依赖项: # apt install make # apt install gcc # apt install build-essential # apt install libssl-dev # apt install libcap-ng-dev # apt install python2.7 # apt install python-pip # pip install six # apt install autoconf # apt install aut

  • 利用OpenVSwitch在多台主机上部署Docker的教程

    [编者的话]当你在一台主机上成功运行Docker容器后,信心满满地打算将其扩展到多台主机时,却发现前面的尝试只相当于写了个Hello World的入门程序,多主机的网络设置成了下一道门槛.在你尝试各种方案时不妨先看看本文,或许就会豁然开朗,发现原来也不复杂.嗯,是的,本文用到了 OpenVSwitch. 运行Docker已经不是什么新鲜事,网上有很多入门教程来帮助你在一台主机上运行容器.这台主机可以是Linux服务器,也可以是Mac(借助类似boot2docker的项目). 在多台主机上运行却是

  • 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 inst

  • Docker容器跨主机通信overlay网络的解决方案

    目录 一.Docker主机间容器通信的解决方案 二.Docker Overlay Network 三.使用键值存储搭建Docker主机集群 4.1 系统环境 4.2 安装Consul 4.3 节点配置Dockre守护进程连接Consul 4.4 查看consul 中的节点信息 4.5 创建overlay网络 4.6 使用overlay网络启动容器 一.Docker主机间容器通信的解决方案 Docker网络驱动 Overlay: 基于VXLAN封装实现Docker原生Overlay网络 Macvl

  • openstack pike单机一键安装shell的方法

    #VM虚拟机8G内存,安装完毕,半个小时左右 #在线安装 #环境 centos 7.4.1708 x86_64 #在线安装openstack pike curl http://elven.vip/ks/openstack/pike.install.sh>pike.install.sh && sh pike.install.sh 更新日期 2017-11-21 新增内容: 安装完成后,自动创建秘钥.主机类型.cirros测试镜像.网络.虚拟机kvm01 也就是安装完成后,就自动创建启动

  • 浅谈openstack中使用linux_bridge实现vxlan网络

    openstack环境: 1 版本:ocata 2 系统:ubuntu16.04.2 3 控制节点 1个 + 计算节点 1个 4 控制节点网卡为ens33,ip = 172.171.5.200 ens34 manual模式 无IP (为什么外网网卡ens34没有IP地址?这是另一个故事,后面有专门章节讲解.) 计算节点网卡 ens33 ,ip = 172.171.5.201 一 vxlan配置 1 控制节点: 编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件 配

  • openstack中的rpc远程调用的方法

    众所周知,OpenStack的通信方式有两种,一种是基于HTTP协议的RESTFul API方式,另一种则是RPC调用.两种通信方式的应用场景有所不同,在OpenStack中,前者主要用于各组件之间的通信(如nova与glance的通信),而后者则用于同一组件中各个不同模块之间的通信(如nova组件中nova-compute与nova-scheduler的通信). nova中rpc调用非常多,用pycharm点点点跟函数的时候遇到rpc就会点不下去了,不解决直接就看不下去了那种多法 什么是 RP

  • CentOS 6.4下安装部署OpenStack云计算平台的方法

    前言 OpenStack 是一个开源的 IaaS(基础设施及服务)云计算平台,让任何人都可以自行建立和提供云端运算服务. OpenStack 由一系列相互关联的项目提供云基础设施解决方案的各个组件,核心项目(9 个): 1.计算 (Compute) - Nova: 2.网络和地址管理 - Neutron: 3.对象存储 (Object) - Swift: 4.块存储 (Block) - Cinder: 5.身份 (Identity) - keystone: 6.镜像 (Image) - Glan

  • Pycharm远程调试openstack的方法

    Pycharm对openstack进行远程调试,供大家参考,具体内容如下 总共分三步: 一. 安装samba(非必须的) 二. 安装并配置pycharm 三. 修改openstack的代码(以nova为例) 一.为了实现远程代码的map要首先进行如下设置 1.安装samba(针对Unbuntu14.04,其它版本的安装方式可能略有差别) sudo apt-get install samba sudo apt-get install smbfs sudo apt-get install cifs-

  • OpenStack虚拟机快照和增量备份实现方法

    目录 1 快照的概念 2 主流libvirt快照实现介绍 2.1 libvirt的内部快照操作 2.2 libvirt的外部快照操作 3 OpenStack原生虚拟机快照和备份 4 使用ceph实现OpenStack虚拟机快照功能 5 使用ceph实现OpenStack虚拟机增量备份功能 5.1 创建备份 5.2 恢复备份 1 快照的概念 一般对快照的理解就是能够将系统还原到某个瞬间,这就是快照的作用.快照针对要保存的数据分为内存快照和磁盘快照,内存快照就是保存当前内存的数据,磁盘快照就是保存硬

  • OpenStack安装部署Liberty Neutron

    最近在两台物理机环境中部署了OpenStack的Liberty版本,各个模块都遇到或多或少的问题,但尤以Neutron的问题最让人头疼.尽管OpenStack一直致力于简化Neutron的部署,但对于非网络技术人员来说依然存在着很大的挑战,根本原因还是由于网络自身的复杂性所导致的,因此想要成功部署Neutron还是需要网络基础的,但这并不意味着没有网络基础就不能成功部署Neutron并使其工作.本文将总结Neutron的安装部署步骤,并对遇到的问题进行详细的描述,旨在提供解决问题的思路或者给与一

  • Docker使用Calico网络模式配置及问题处理方法

    目录 一.Calico介绍 二.Calico优势 三.环境介绍: 四.配置ETCD集群 五. 安装Docker,配置使用集群存储 六.配置calico基于sysinit方式启动 七.测试calico网络 参考: 一.Calico介绍 Calico是一种容器之间互通的网络方案,在虚拟化平台中,比如OpenStack.Docker等都需要实现workloads之间互连,但同时也需要对容器做隔离控制,就像在Internet中的服务仅开放80端口.公有云的多租户一样,提供隔离和管控机制.而在多数的虚拟化

随机推荐