设为首页 收藏本站
查看: 1016|回复: 0

[经验分享] openstack自动化部署

[复制链接]

尚未签到

发表于 2017-11-8 10:46:07 | 显示全部楼层 |阅读模式
  这次是基于devstack进行自动化部署,后续会通过解析这个部署脚本的源代码的形式,学习openstack的部署,同时一步步阅读openstack其他服务的源码,比如keystone、nvoa等,一步步深入。
事实上手动部署和自动化部署在命令上没啥区别,如果对自动化部署软件的源码熟悉,其实收获更大

5e0251676f43932da06ce41a8183952b.png-wh_500x0-wm_3-wmp_4-s_1817862880.png
自动化部署原理:
自动执行安装脚本:将安装命令脚本化—>
自动生成配置文件:生成正确的配置参数—>
自动解决依赖关系:安装依赖的软件包&服务的安装顺序
(理解自动化部署的思路,以便后续自己编写自动化部署脚本)分析软件的架构特点
4ba3f2145e2d4fdc331ba4ac832b6fca.png-wh_500x0-wm_3-wmp_4-s_1204029488.png
  • devstack下载

    • devstack通过git来实现代码的版本管理

注:ubuntu下git安装: sudo apt-get       install git
git clone https://github.com/openstack-dev/devstack.git 184b777f3ce089e271c736e9939427ee.png-wh_500x0-wm_3-wmp_4-s_3457384144.png    

  • 代理问题(proxy):

    • git一般通过两种协议实现传输:http(https)和ssh
    • 有些公司会通过代理服务器上网,代理服务器通常只会允许http协议

      • 注:具体参见《ubuntu git http       proxy配置 》

    我这里是建议使用在一个完全干净的环境中进行部署,安装的时候,我在ubuntu14中部署,然后时区设置在usa,之前设置在重庆留下了蛮多坑的,比如上面设置代理之类的,后面的话,改成usa顺利了一些。
    分析devstck的文件结构

fe6e4fa2b2b813b3fe92ffda5f27aba7.png-wh_500x0-wm_3-wmp_4-s_609665699.png
  • stack.sh à自动化部署的入口 à .exe文件
  • unstack.sh à 卸载脚本
  • localrc à配置文件 à 传入stack.sh的参数(这个localrc文件在这~github上面是没有的

localrc文件下载链接http://down.51cto.com/data/2339580
  • nova部署在哪个节点,用户名密码是啥

  • openrc à 环境变量脚本

    • 在执行openstack命令时要导入一些环境变量
    • export OS_USERNAME = admin

  • lib à每个服务的自动化安装脚本

    • nova,swift等自动化安装脚本
    • 手动安装时执行的所有命令
    • 每一个openstack服务对应一个文件

4190cf36265cca6a314c790b8af34b78.png-wh_500x0-wm_3-wmp_4-s_2256481391.png
分别对应的是各种服务的部署脚本,介绍一下其中一部分服务
  • database、databases:openstack数据库服务的数据库服务的部署脚本

    • postgresql/mysql默认使用mysql

  • nova、nova_plugins

    • functions-libvirt  hypervisor-baremetal  hypervisor-fake  hypervisor-ironic  hypervisor-libvirt  hypervisor-openvz  hypervisor-vsphere  hypervisor-xenserver

  • tempest单元测试框架

devserack的执行原理

    先通过stack.sh判断localrc是否存在,如果是则进入配置模式,否则进行交互模式交互模式是需要根据自身需求向stack.sh输入相关的服务指令,如mysql的密码、roken参数等信息配置模式的话,就是根据localrc配置好的参数进行自动化安装,并部署,下面介绍localrc的指令信息
1
2
3
4
5
6
7
8
9
10
11
DATABASE_PASSWORD=123456   
配置数据库的密码,默认是mysql,如果想安装postgresql则需要修改DATABASE_TYPE=postgresql
ADMIN_PASSWORD=123456
管理员密码
SERVICE_PASSWORD=123456
SERVICE_TOKEN=123456
token信息,每次请求都要带着否则会被拒绝
RABBIT_PASSWORD=123456
rabbit MQ密码
reclone=true
这个配置之后会重新下载各个服务的源码,如果检测到哪个服务的源码不对的话,将会重新下载



接着是配置devstack和openstack日志文件的存储位置
1
2
3
4
5
DEST=/home/stack
LOGFILE=$DEST/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=$DEST/logs



需要部署的服务直接写在这儿就行,然后我在部署的时候稍微修改了一下文件,目的是增加一些服务以便后续的学习,当然了,读者可以自便修改相关参数
1
2
VIF_PLUGGING_IS_FATAL=False
VIF_PLUGGING_TIMEOUT=10



上面两个是用来解决openstack部署vxlan时的一个bug
以上是我建议的需要的修改的一些配置,仅供参考
详细的部署教程看下一篇

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-406738-1-1.html 上篇帖子: Openstack 之 ubuntu16使用kolla部署实验 下篇帖子: openstack 之 使用virtualbox 脚本自动安装mirantis openstack
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表