脚本化自动部署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的[CONTROLLER_NODE]节中。

经过一段时间的执行(内网源会快很多),安装完毕,会从源服务器上获取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里[SOURCES_SERVER] 的ip值,如使用搜狐源mirrors.sohu.com,同时去除setupControllerNode.sh脚本中最后上传镜像的内容,直接在dashboard中从互联网上传镜像或者下载后从本地上传。

可从以下网盘下载镜像。

链接: http://pan.baidu.com/s/1eQmxvLC 密码: u6bt

时间: 2024-08-29 23:37:28

脚本化自动部署openstack的相关文章

脚本化自动构建openstack计算节点间免密码ssh登录

openstack 实例的调整大小和移植功能,都要求计算节点间免密码ssh登录,对于已有的计算节点和新增的计算节点,如何简单快速的使它们之间能够互相两两免密码登录,博主给出了一套实用的脚本. 可先参考脚本化自动部署openstack一文,搭建好环境. 文件清单为: nopasswd-login-controller-to-compute.sh  控制节点可以免密码登录所有的计算节点 nopasswd-login-compute-to-compute.sh    计算节点可以免密码登录其他计算节点

devstack自动部署openstack之localrc文件及遇到的问题解决

做完前期准备后,在devstack目录下创建localrc文件,最好不要直接上传,然后将下面的内容贴进去即可,下面是我转载的,以下有出处,但是部署期间有几个问题,我也列出来了. # Misc DATABASE_PASSWORD=123456ADMIN_PASSWORD=123456SERVICE_PASSWORD=123456SERVICE_TOKEN=123456RABBIT_PASSWORD=123456 # Reclone each timeRECLONE=yes ## For Keyst

通过devstack自动部署Openstack icehouse 版本

问题导读1.脚本自动化部署原理是什么?2.重启虚拟机后,登录 Dashboard 时出现错误,如何解决?3.stack.sh 执行之 pip-1.4.1 安装失败,怎么办? 本篇主要阐述通过DeveStack 去部署Openstack(icehouse),对大多数来说安装部署Openstack 来说是个痛苦的过程,尤其是 OpenStack和它依赖的一些组件在快速发展中,经常出现这个版本组件对不上那个版本 dashboard  等 情况.如果只是 看看或者初期玩玩 OpenStack的话,使用

使用Fuel 9.0快速部署Openstack Mitaka

关于什么是Fuel以及Fuel的作用和构架可以参考下面Openstack官方给出的Wiki链接. https://wiki.openstack.org/wiki/Fuel. 在安装部署之前,先看看官方给出的Fuel 9.0版本特性. Mirantis OpenStack is distributed as a single commercially supportedpackage in ISO format. The 9.0 release features: ·       Enhanced

Fuel 9.0 部署Openstack Mitaka详细

漫漫求索Openstack路--- Fuel 9.0 部署Openstack Mitaka详细(排坑版) 0.前言 不想搭建环境,官方提供测试Fuel 9.0的demo环境 http://demo.fuel-infra.org:8000(只要你电脑能上外网)默认用户名.密码admin 一.提前准备 Fuel 9.0将会搭载Openstack_Mitaka 版本,这个版本是2016年出的最新版本. Fuel 在早先的版本中已经去掉了利用Centos来搭建Openstack的环境: 在9.0中只使用

使用Fuel 9.0快速部署Openstack Mitaka(其实也就用了五六个小时吧)

关于什么是Fuel以及Fuel的作用和构架可以参考下面Openstack官方给出的Wiki链接. https://wiki.openstack.org/wiki/Fuel. 在安装部署之前,先看看官方给出的Fuel 9.0版本特性. Mirantis OpenStack is distributed as a single commercially supportedpackage in ISO format. The 9.0 release features: ·       Enhanced

基于最新RHEL7系统的Packstack自动部署RDO(OpenStack Icehouse)

本篇文章是通过最新发布的Red Hat Enterpise Linux 7 系统部署OpenStack,集成到RHEL系统的OpenStack 简称为RDO.此篇是通过制作应答文件answer.conf自动化部署OpenStack Icehouse 版本. 由于采用RHEL7系统在部署中或多或少碰到不少报错的问题,这里只列出我的几张截图,在部署中还是需要根据实际情况来决定,多看下报错及日志文件:例如:解决包的依赖,服务不能没有启动起来,数据库密码设置未成功等:希望本篇可以给部署RDO的同学带来一

Java 脚本化编程指南

译文出处: coyee   原文出处:docs.oracle Java脚本化API为谁准备? 脚本语言的一些有用的特性是: 方便:大多数脚本语言都是动态类型的.您通常可以创建新的变量,而不声明变量类型,并且您可以重用变量来存储不同类型的对象.此外,脚本语言往往会自动执行许多类型的转换,例如, 必要时 将数字10转换为"10". 开发快速原型:您可以避免编辑编译运行周期,只使用"编辑运行"! 应用扩展/定制:你可以"具体化"的部分应用程序,例如一些

部署OpenStack问题汇总(六)-- OpenStack入门需要知道的概念

一.网络问题-network 更多网络原理机制可以参考<OpenStack云平台的网络模式及其工作机制>. 1.1.控制节点与网络控制器区别 OpenStack平台中有两种类型的物理节点,控制节点和计算节点.控制节点包括网络控制.调度管理.api服务.存储卷管理.数据库管理.身份管理和镜像管理等,计算节点主要提供nova-compute服务. 控制节点的服务可以分开在多个节点,我们把提供nova-network服务的节点称为网络控制器. 1.2.OpenStack中nova-network的作