openstack的自动化部署--saltstack

一、前言

关于什么是openstack以及什么时saltstack,这里就不多说了,直接进入主题

二、openstack 的自动化部署

1.实验环境

系统版本hostnameip角色
redhat7.2server1172.25.27.1controller \ salt-minion
redhat7.2server2172.25.27.2comput \ salt-minion
redhat7.2server3172.25.27.3salt-master

请确保关闭防火墙,iptables,selinux

2.saltstack环境安装

请参考博客:自动化运维工具SaltStack详细部署及用SaltStack实现自动部署lamp架构 中的 SaltStack基础安装与配置 部分

验证:

[root@server3 ~]# salt-key -L
Accepted Keys:
server1
server2
Denied Keys:
Unaccepted Keys:
Rejected Keys:

3. 创建saltstack脚本进行自动化部署

第一版代码已经放到github
代码可以直接拿本人提交到github

[root@server3 ~]# git clone https://github.com/valor7/salt_openstack.git
[root@server3 ~]# vim salt_openstack/base/top.sls
base:
  'server1':
    - ntp.service
    - openstack.install
    - sql.init
    - rabbitmq.service
    - memcached.service
    - keystone.service
    - service_entity.service
    - glance.service
    - nova.services
    - neutron.services
    - dashboard.service
  'server2':
    - ntp.service
    - comput_node.service
  • 我这里是server1为控制节点,server2为计算节点,可根据自己的情况进行相应配置,修改top.sls即可
  • 如果直接拿我的代码需要修改相应用户密码及ip等信息,全部在pillar文件夹里面
[root@server3 salt_openstack]# tree
.
├── base
│   ├── bash
│   │   └── script  ##部分服务启动及数据库认证脚本
│   ├── comput_node ##计算节点相应的服务
│   │   ├── files
│   │   │   ├── linuxbridge_agent.ini
│   │   │   ├── neutron.conf
│   │   │   └── nova.conf
│   │   ├── install.sls
│   │   └── service.sls
│   ├── dashboard
│   │   ├── files
......

│   └── top.sls
└── pillar
    ├── openstack
    │   ├── chronyd_info.sls    ##时间同步服务器信息,默认使用阿里云的时间同步服务器
    │   ├── comput_info.sls    ##计算节点服务器信息
    │   ├── controller_info.sls  ##控制节点服务器信息
    │   ├── db_resources.sls  ##创建数据库信息,用户名及密码等
    │   ├── user_info.sls  ## dashboard用户信息
    │   └── yum_info.sls  ##yum 源,需要进行配置,我是搭建的本地yum仓库,文件已上传百度云
    └── top.sls

27 directories, 54 files
  • 修改salt-master的默认文件指向,需要指向我们的文件夹路径
[root@server3 salt_openstack]# ls
base  pillar
[root@server3 salt_openstack]# pwd
/root/salt_openstack

[root@server3 salt_openstack]# vim /etc/salt/master
file_roots:
  base:
    - /root/salt_openstack/base


pillar_roots:
  base:
    - /root/salt_openstack/pillar
    - 
[root@server3 salt_openstack]# systemctl restart salt-master.service 

openstack所需的软件包我是搭建的本地yum仓库,本地仓库里的所有内容已打包上传到百度云了,直接下载解压即可使用
百度云传送门:mitaka.tgz
提取码:ydih

4.见证奇迹的时刻

[root@server3 salt_openstack]# salt '*' test.ping
server2:
    True
server1:
    True

[root@server3 salt_openstack]# salt '*' state.highstate     ##然后就是等他完成

正常情况是这样的
这里写图片描述

没有报错,进行测试
浏览器输入 http://server1/dashboard

这里写图片描述

用户名和密码是在pillar中定义的,domain为default
先用admin账户登陆
这里写图片描述

登上去是这样子的,setting里面改成中文
这里写图片描述

管理员>> 镜像 查看已经有一个镜像了,是通过脚本上传上去的,你也可以上传你自己的镜像,点击创建镜像即可上传自己的镜像

这里写图片描述

接下来创建一个网络就可以愉快的起云主机了

管理员>>网络>>创建网络>>按图示填写(只有名称可随意)>>提交

这里写图片描述

这里写图片描述

点击我们刚才创建的网络provider,添加子网
管理员>>网络>>privider>>创建子网>>根据实际情况进行填写
这里写图片描述

填好之后下一步
这里写图片描述
根据实际情况填写好之后点击已创建,网络就创建完成了
这里写图片描述

  • 创建一个云主机类型
    系统>>云主机类型>>创建云主机类型

这里写图片描述
由于脚本中上传的镜像消耗资源较少,所以这里创建一个主机类型避免资源浪费,同时减小计算节点压力

创建好之后退出admin用户,切到demo用户

这里写图片描述

云主机>>创建云主机
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

然后点启动实例

这里写图片描述

进入控制台
创建快照旁边的倒三角>>控制台

这里写图片描述
与可以从网络拓扑里面打开控制台
这里写图片描述

输入提示的用户名 cirros 和密码 cubswin:) 登陆控制台
这里写图片描述
这里写图片描述

总结

至此,用saltstack自动化部署openstack完成,后续还有块存储服务等没有添加,读者若有兴趣可进行添加。saltstack脚本有不足之处欢迎指出

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作者:int32bit 链接:https://www.zhihu.com/question/54549481/answer/141308600 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 基于OpenStack的论文国内外还是不少的,参考IEEE Xplore Search Results,毕竟火了那么多年,而且无论你偏系统还是偏研究都能写,但是纯粹写OpenStack部署的论文估计不多,除非你自己开发了一套自动化部署工具,比现有的Puppet、Ansible、Tripleo、Fuel、Kolla都要好,大多论文都需要与其它技术或者应用场景相结合,否则你的研究背景和意义都不知道怎么入手。偏系统的论文诸如基于OpenStack的xx系统(或者平台)设计与实现,xx可以是各种场景化的云系统,比如xx替换为视频监控云,则标题变为基于OpenStack的视频监控云平台设计与实现,你可以谈传统视频监控系统的各种问题,然后突出你设计的基于OpenStack的视频监控云平台的优势。为了演示,做个漂亮高大上的Web界面,直接拿Horizon去展示,怕要被导师拍死。偏研究的话,你可以针对某一个点展开,通常就是优化了,比较多的研究点包括调度算法优化、在线迁移优化、负载均衡优化、计算性能优化、虚拟化性能优化、能源损耗优化等,尤其是调度算法,你可以联想抽象出各种问题,比如装箱问题、启发算法、遗传算法都能套,优点也好写,要么提高了资源利用率,要么节约了能源(还可以结合绿色计算写)。当然,你也可以针对OpenStack开发一套自己的系统,比如集成测试系统、故障检测、bug发现等,之前看过一篇不错的论文,等找到了再补充。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值