ewe22 发表于 2015-2-10 07:30:12

脚本化自动部署openstack

   为减少大家在部署openstack上花费的时间,结合官网教程和网上的各类安装指南,博主给出了一套实用的脚本来简化安装。文件目录为:

      config.ini:                     全局配置文件
      setupControllerNode.sh:安装控制节点上的组件
      addNetworkNode.sh:          安装网络节点上的组件,可以部署多个网络节点提高可用性
      addComputeNode.sh:          安装计算节点上的组件
      network-creater.sh:      在控制节点上创建网络
      先看一下节点的网络规划图:

      这里搭建了一个本地的局域网源,减少从网络获取组件的时间,以加快安装。
      openstakck的各个节点都是双网卡,网卡0连接到172.17.0.0/16网络上,既是管理网络,也是实例之间通信的数据网络。
      本地局域网192.168.0.0/16作为公开网络的同时也作为外部网络,源服务器连接到此网络上。
      部署采用单机+vmware+ubuntu14.04-64-server+openstack-icehouse,首先修改VMWare的虚拟网络,将VMnet4网络设置为172.17.0.0/16。
      
      3个虚拟机的设置均为双网络适配器,适配器1的连接模式为VMnet4(仅主机模式),适配器2的连接模式为桥接。
      
开始部署(root用户):
1、配置config.ini
      根据实际情况定义源地址、控制节点主机名和ip、公开网络和外部网络信息、私有网络信息、数据库用户信息以及openstack用户信息等
2、安装控制节点
      执行脚本setupControllerNode.sh,只需要输入管理网络接口和公开网络接口名称,回车取默认值,而主机名与ip均在config.ini的节中。
      
      经过一段时间的执行(内网源会快很多),安装完毕,会从源服务器上获取cirros镜像并上传上去,同时也会在/root目录下生成openrc.sh脚本,source后,通过keystone、glance、neutron、nova-manage等命令直接查看相应信息。

      
      如查看所有的openstack用户:
      
3、安装网络节点
      执行脚本addNetworkNode.sh,需要输入主机名、管理网络接口名和IP以及公开网络接口名和IP。
      
      在脚本的最后,会创建网桥br-ex,并添加eth1到该网桥上,所以会把eth1设置为混杂模式,先前设置ip仅仅是为了能从源服务器下载安装包。
      
4、创建网络(在控制节点上执行)
      执行network-creater.sh,从config.ini读取公开网络信息,包括浮动ip的开始和结束以及私有网络。
      
      创建了一个路由器,一端连接到外部网络上,一端连接到内部网络上。

      
5、安装计算节点
      执行addComputeNode.sh,输入主机名、虚拟化类型(虚拟机上使用qemu,真机上使用kvm)、管理网络接口名和IP以及公开网络接口名和IP。
      
      计算节点安装完成

      
6、dashboard
在浏览器中输入172.17.200.0/horizon或者192.168.200.0/horizon,以admin/ADMIN_PASS登陆。
      
      查看网络拓扑,可以看到创建的外部网络和内部网络以及路由器。
      
      查看镜像列表,可以看到脚本自动上传的cirros镜像
      
      通过镜像,直接运行云主机,类型使用m1.tiny,网络使用user-net。

      
      云主机创建成功
      
      点击更多,查看控制台,通过vnc登陆,输入cirros/cubswin:),可查看IP地址和路由信息。
      
      
      可以看到它的默认网关是10.20.0.1,可以ping通公开网络上的主机。
      
      给云主机(实例)分配浮动IP。
      
      外部可以ping通云主机的浮动IP
      
      外部通过putty ssh登陆到云主机。
      
      至此,部署成功。
      
      注意:对于没有内网源,但是可以上外网的环境,可以修改config.ini里 的ip值,如使用搜狐源mirrors.sohu.com,同时去除setupControllerNode.sh脚本中最后上传镜像的内容,直接在dashboard中从互联网上传镜像或者下载后从本地上传。
      可从以下网盘下载镜像。
      链接: http://pan.baidu.com/s/1eQmxvLC 密码: u6bt
      百度云附件:jiaoben.rar   

页: [1]
查看完整版本: 脚本化自动部署openstack