脚本化自动部署openstack

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

        文件目录为:

  wKioL1TYXf-QcodpAABRHSNKSrI255.jpg

        config.ini:                       全局配置文件

        setupControllerNode.sh:安装控制节点上的组件

        addNetworkNode.sh:          安装网络节点上的组件,可以部署多个网络节点提高可用性

        addComputeNode.sh:          安装计算节点上的组件

        network-creater.sh:        在控制节点上创建网络

        先看一下节点的网络规划图:

  wKiom1TYXJPRvUUzAAFqgyu7S2Y570.jpg

        这里搭建了一个本地的局域网源,减少从网络获取组件的时间,以加快安装。

        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

        wKioL1TYXYSAI6GPAALNDVwYmhA281.jpg

        3个虚拟机的设置均为双网络适配器,适配器1的连接模式为VMnet4(仅主机模式),适配器2的连接模式为桥接。

        wKiom1TYXJOjtFIJAAKpOwLlQds908.jpg

开始部署(root用户):

1、配置config.ini

        根据实际情况定义源地址、控制节点主机名和ip、公开网络和外部网络信息、私有网络信息、数据库用户信息以及openstack用户信息等

2、安装控制节点

        执行脚本setupControllerNode.sh,只需要输入管理网络接口和公开网络接口名称,回车取默认值,而主机名与ip均在config.ini的[CONTROLLER_NODE]节中。

        wKioL1TYXyui4OpDAAFWz3QG6Hs626.jpg

        经过一段时间的执行(内网源会快很多),安装完毕,会从源服务器上获取cirros镜像并上传上去,同时也会在/root目录下生成openrc.sh脚本,source后,通过keystone、glance、neutron、nova-manage等命令直接查看相应信息。

        wKiom1TYXlnDZLs5AALSyL-F3Nw289.jpg

        如查看所有的openstack用户:

        wKiom1TYXkSwirU4AAGZu-FhSv0859.jpg

3、安装网络节点

        执行脚本addNetworkNode.sh,需要输入主机名、管理网络接口名和IP以及公开网络接口名和IP。

        wKioL1TYX66jPWcsAAIb3BJdDwA700.jpg

        在脚本的最后,会创建网桥br-ex,并添加eth1到该网桥上,所以会把eth1设置为混杂模式,先前设置ip仅仅是为了能从源服务器下载安装包。

        wKiom1TYXryB4YuNAAOdD_DqtkA199.jpg

4、创建网络(在控制节点上执行)

        执行network-creater.sh,从config.ini读取公开网络信息,包括浮动ip的开始和结束以及私有网络。

        wKioL1TYX9qiXrxBAAD_wxbRtho962.jpg

        创建了一个路由器,一端连接到外部网络上,一端连接到内部网络上。

        wKioL1TYX9qzAlPhAALurcxLRss109.jpg

5、安装计算节点

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

        spacer.gifwKiom1TYXxOyutR9AAHlrQ3HaJA311.jpg

        计算节点安装完成

        wKioL1TYYAaiamXlAASONpnv0RI390.jpg

6、dashboard

        在浏览器中输入172.17.200.0/horizon或者192.168.200.0/horizon,以admin/ADMIN_PASS登陆。

        wKiom1TYX3bxGta1AACFoZvocgY792.jpg

        查看网络拓扑,可以看到创建的外部网络和内部网络以及路由器。

        wKioL1TYYGiywwIlAAFwuCsVXHo869.jpg

        查看镜像列表,可以看到脚本自动上传的cirros镜像

        wKiom1TYX3aRXZm0AAC613voTlA354.jpg

        通过镜像,直接运行云主机,类型使用m1.tiny,网络使用user-net。

  wKioL1TYYGmBcgC4AAIGZ3Lucbg210.jpg

        wKiom1TYX3fwc3kfAAE-0TfaocM295.jpg

        云主机创建成功

        wKioL1TYYGmxJxU5AADxanRSpiY731.jpg

        点击更多,查看控制台,通过vnc登陆,输入cirros/cubswin:),可查看IP地址和路由信息。

        wKiom1TYX3eQw9aHAANGFeMXrD8438.jpg 

        wKioL1TYYGrCsfekAAJsuEKrWLE190.jpg

        可以看到它的默认网关是10.20.0.1,可以ping通公开网络上的主机。

        wKiom1TYX3jD3P1yAALIDmKfmwY477.jpg

        给云主机(实例)分配浮动IP。

        wKiom1TYX3jiiUg2AAC1OIrnPWM475.jpg

        外部可以ping通云主机的浮动IP

        wKioL1TYYGqT-DiNAALmtOZSjvA495.jpg

        外部通过putty ssh登陆到云主机。

        wKiom1TYX3nTfE6XAAMCJE0mveU653.jpg

        至此,部署成功。

         

        注意对于没有内网源,但是可以上外网的环境,可以修改config.ini里[SOURCES_SERVER] 的ip值,如使用搜狐源mirrors.sohu.com,同时去除setupControllerNode.sh脚本中最后上传镜像的内容,直接在dashboard中从互联网上传镜像或者下载后从本地上传。

        可从以下网盘下载镜像。

        链接: http://pan.baidu.com/s/1nt85iOD 密码: f9gg

        wKioL1TYYGvTN9SXAAGcUOKlfAg149.jpg


---------------------------------------------------------

可从以下网盘下载脚本,密码为博客名

链接: http://pan.baidu.com/s/1o6l28aA 密码: 8ey2

本文出自 “破万卷书” 博客,谢绝转载!

你可能感兴趣的:(vmware,部署,脚本,openstack,自动化)