该篇文章主要介绍设置OpenStack与OpenDaylight控制器的集成使用。OpenDaylight控制器提供了多种方式与OpenStack相结合,此文主要是通过在OpenStack数据层面被OpenDaylight控制器管理控制。
1 环境准备:
1.1 设备
OpenStack设备:192.168.5.203;
OpenDaylight设备:192.168.5.23。
1.2 安装openstack
OpenStack安装镜像下载地址为http://pan.baidu.com/s/1dDri4Opqq-pf-to=pcqq.c2c。因为OpenStack安装繁琐,所以在此提供OpenStack Juno版本的镜像(用户名密码:root/root)。
创建VM导入Juno镜像,VM创建完成后,OpenStack将直接完成安装。浏览器打开OpenStack界面:http://192.168.5.203/horizon,用户名:admin;密码:admin。
1.3 OpenDaylight安装
OpenDaylight具体安装与执行,可详见《OpenDaylight的Helium(氦)版本安装》文档。
2 操作
2.1 添加网络
在OpenStack界面项目中点击网络,并点击“创建网络”:
创建子网:
子网详情:
点击完成后,网络创建成功。
2.2 上传VM镜像
在项目Compute中点击镜像,并创建镜像,如图所示:
在界面镜像源中选择“镜像文件”,将下载在自己设备中的VM镜像文件上传至此页面,VM镜像下载地址为:http://pan.baidu.com/s/1qW1BzRmqq-pf-to=pcqq.c2c,提交镜像,至此,镜像创建成功。
2.3 创建VM
在项目[Compute->实例]中点击启动云主机,启动云主机直接创建你所要创建的虚拟机,并选择之前上传的虚拟机镜像,配置好网络后,点击运行,虚拟机创建成功并直接启动,如图所示:
创建虚拟机完成后,查看网络拓扑,如下图所示:
2.4 OpenStack连接OpenDaylight
OpenStack设备后台查看,交换机指定被OpenDaylight控制,且通过添加静态流表设置Open vSwitch交换机只受控制器:
Shell1 | ovs-ofctl add-flow br-int priority=0,actions=output:CONTROLLER |
通过sudo ovs-vsctl show命令显示数据层面已连接控制器:
Shell12345678910111213141516171819202122232425262728293031323334 | # ovs-vsctl showf6b36f40-a6d1-48b6-891b-3c6cd87becf7 Bridge br-int Controller "tcp:192.168.5.23:6633" is_connected: true fail_mode: secure Port br-int Interface br-int type: internal Port "qvob1fa7781-6c" tag: 1 Interface "qvob1fa7781-6c" Port "qvoa20070df-b5" tag: 1 Interface "qvoa20070df-b5" Port "qvofd727867-fe" tag: 1 Interface "qvofd727867-fe" Port "tap51dfd22b-19" tag: 4095 Interface "tap51dfd22b-19" type: internal Port "qvo695d9ee6-4b" tag: 1 Interface "qvo695d9ee6-4b" Port "qvo90b0899f-2d" tag: 1 Interface "qvo90b0899f-2d" Port "qvo55a996fc-ce" tag: 1 Interface "qvo55a996fc-ce" Port "qvodf7f59f5-19" tag: 1 Interface "qvodf7f59f5-19" |
上面的虚拟端口都是所启动的虚拟机的端口。
2.5 查看OpenDaylight
创建成功后,虚拟机的IP正确分配:
与其他云主机进行ping操作:
虚拟机间可进行通行。
OpenDaylight界面访问:http://192.168.5.23:8181/dlux/index.html,显示拓扑如图所示:
OpenDaylight控制器发现OpenStack环境所创建的虚拟机,且OpenStack中作为Open vSwitch能查看到主机间通信产生的流表。
如有理解不到位或有不正确的地方,敬请谅解多指正!谢谢!