香港马会综合资料

Openstack一站式自动化部署方案

添加时间:2019-09-08

  我们把这两部分合称为“一站式自动化部署方案”,目的是实现部署即用,无需在部署完之后,再做过多人工检查

  在介绍自动化部署方案之前,有必要先介绍一下openstack中服务器的角色,主要有以下几种类型:

  控制节点一般是独立运行的,而计算、网络、存储节点则可以混合运行,香港六开奖结果直播,即一个节点可以同时包含计算、网络、存储中的一种或几种角色。

  生产环境中,控制节点数量一般为3个,防止单点故障;而测试和开发过程中,控制节点可以设置成1个。

  部署方案采用shell脚本来完成,原因是shell语法简单,执行速度快,对文本处理效率高,而且没有特殊依赖关系,也可以支持并发。

  自动化部署的大致思路是,启动一个本地yum源,根据给定的配置文件中描述的服务器,利用shell脚本远程连接到目标服务器进行软件安装和配置。概要过程如图所示:

  部署的环境中设置的全局参数,比如mysql密码、集群master节点等。

  接下来的自动化部署过程中,会读取该配置文件,并根据各服务器节点的角色,对其进行安装和配置。自动化部署程序主要实现以下功能:

  结合目标机器上安装的impi工具,通过PXE来自动地给目标机器安装操作系统。

  由于在开发和测试环境中,通常并不重新安装操作系统,而是在清理掉openstack相关的软件之后,重新部署openstack;在实际生产环境中,用户可能会因为对操作系统或者配置有特殊需求,而选择自己手动安装操作系统;所以自动安装操作系统这一步是可选的。

  自动化部署程序选择一个服务器节点,在它上面启动yum源(如果有必要,可以启动多个yum源),yum源包含了openstack部署中将要用到的软件。

  环境中的所有节点(包含该节点自己),都从该yum源安装软件。对于大部分软件来说,只是安装,而没有做具体的配置,而且各节点都是并发安装的,所以这一步的执行速度很快。对各软件的具体配置,分布在下面的相关步骤中。

  根据配置文件中已经规划好的服务器角色,先配置ceph-monitor节点,再配置ceph-osd节点。

  对于单主控的环境,则不配置负载均衡和高可用;mysql、rabbitmq、mongodb也以单节点的形式运行。

  在部署结束之后,做一系列的检查操作以确定openstack环境是否可用。

  除了自动化部署程序调用这个功能之外,用户也可以单独用它来检查自己的openstack环境。

  在部署完成之后,会将部署的简要过程,花费时间以及健康状况等发送邮件给相关人员。

  通过使用screen这款软件来启动自动化部署程序,虽然到部署环境的SSH连接会断开,但是自动化部署程序继续在目标机器的后台执行。当重新连接到环境中,通过screen-r可以恢复之前的session。

  在之前的安装过程中发现在osd比较多的情况下,串行安装ceph-osd比较费时,安装一个osd大概需要5分钟时间,100个osd就需要500分钟。现在已经改成并发安装,节省了非常多的时间。

  在安装和配置过程中,添加检查操作,如果某个操作失败,则暂停安装并提示错误,用户可手动解决错误后继续安装。

  只需要根据实际环境,写出一份配置文件,拷贝软件包和自动化部署程序,然后执行一条命令,即可实现自动化部署。

  由于对自动化部署过程进行了优化,很多地方采用了并发安装的方式,所以实际部署速度很快。

  对于10台服务器的环境,只需30~40分钟左右的时间,即可完成openstack环境的安装部署(不包含操作系统的安装);而30台服务器的环境,也只需要1个多小时的时间。

  在需要重启的地方,部署程序会先添加一个自启动项,然后重启节点,并在重新启动后继续安装。

  由于公司内部openstack更新较快,每天都有新代码提交,所以持续集成很有必要。具体做法是:开发人员在gitlab上合并代码时,会触发jenkins服务器构建新的软件包。而持续集成环境中的定时任务,会拉取新的软件包并执行自动化部署。自动化测试会持续监听部署的状态,当有新的openstack环境部署成功后,会自动执行已经预先选好的持续集成脚本。

  安装过程保存成两个日志,第一个是简要日志,记录在某个时间点,安装和配置某个模块。第二个是详细日志,记录了整个安装过程中屏幕输出的信息,便于后续排查问题。

  因为篇幅有限,所以本文中关于自动化部署的一些细节没有很好地描述出来。如果对本文感兴趣,可通过公司公众号联系作者。

  北京市海淀区中关村互联网文化创意产业园15号楼A座二层 010 - 6549 9766


友情链接:
Copyright 2018-2021 香港马会综合资料 版权所有,未经授权,禁止转载。