基于Ansible的OpenStack私有云平台自动化部署研究与实现

2019-12-10 09:48孙雅妮
电脑知识与技术 2019年28期

孙雅妮

摘要:私有云是企业实现IT基础设施资源共享最有效的途径,OpenStack可以为企业提供一个私有云管理平台,高效可靠的提供IaaS服务。部署OpenStack私有云平台相对比较复杂,文章提出一种自动化部署OpenStack的解决方案。基于ansible编写自动化部署文件,可以快速实现OpenStack私有云平台的部署,显著降低OpenStack部署的复杂度及时间成本。

关键词:自动化部署;ansible;openstack;私有云平台

中图分类号:TP393        文献标识码:A

文章编号:1009-3044(2019)28-0087-03

1 概述

近年來,私有云已经逐渐成为云计算的主要模式和重要的发展方向。私有云(Private Clouds)是云计算基础设施,实现机构或企业内各部门的IT资源共享。通过私有云,企业可以提高IT基础设施的有效利用率,从而降低了企业对于保护用户数据所需的成本,潜在地提高了企业基础业务的优势。私有云既具有传统IT可控性、高可用性、高安全性等特点,又具有公有云的资源共享,弹性资源分配,同时还提供对数据、安全性和服务质量的有效控制和保障。

2 OpenStack简介

OpenStack是一个旨在提供私有云管理平台的开源项目,侧重提供基础设施即服务(IaaS),让任何人都可以自行建立和提供云端计算服务。OpenStack部署云环境非常灵活,可以根据需求来搭建基础设施,同时也可以灵活的扩充集群规模。所以开源、可扩展性、管理灵活是OpenStack的三大主要特点。

OpenStack是由几个主要的组件组合起来完成具体的工作,每个组件由单独的项目构成,提供特定的服务。主要的组件有:Keystone(身份认证服务)、Glance(镜像服务)、Nova(计算服务)、Neutron(网络服务)、Horizon(UI服务)、Cinder(块存储服务)、Swift(对象存储服务)、Heat(编排服务)。OpenStack架构如图1所示。

值得注意的是OpenStack架构并没有实现虚拟化服务,而是利用成熟的Libvirt模块的虚拟化技术实现了整体的云平台服务。Libvirt负责连接OpenStack平台和处于底层的虚拟化管理软件,实现对平台虚拟资源的操作,是OpenStack中管理虚拟资源的重要工具。

3 自动化部署程序的设计与实现

3.1ANSIBLE简介

Ansible是当前流行的自动化运维工具,由Python语言实现,能够实现批量程序部署、批量系统配置、批量运行命令等功能。

Ansible是一个模型驱动的配置管理器,支持多节点发布、远程任务执行、基于推送(Push)的运行方式,通过Core Modules(核心模块)、Custom Modules(自定义模块)、Plugins、Playbooks(剧本)、Host Inventory(主机清单)来实现所需功能。

论文利用ansible编写自动化部署脚本。

3.2自动化部署ansible脚本的实现

自动化部署ansible脚本的实现主要需要编写几个文件。下文以一个controller节点,一个computer节点,共两个节点搭建的openstack私有云平台为例进行介绍。

1)ansible系统文件

在控制节点安装Ansible组件后,主机/etc目录会生成ansible文件夹,内部包含所有的ansible的所必须的配置文件和环境变量文件。

在上述文件中所有的默认环境参数则由group_vars目录内all文件来定义,playbooks中的一个操作由roles目录内的执行方法来执行,每一个roles目录内的方法均分为tasks和templates两个目录,tasks目录为该方法执行的所有脚本,templates目录为此方法所有的模板文件或配置文件。

4 基于HADOOP的企业大数据平台自动化部署测试

4.1测试环境准备

本次测试以yum方式安装Ansible环境,采用双节点自动化部署OpenStack,源采用的是阿里源。ip地址和主机名规划表如表1所示。

4.2 ansible环境准备

Ansible环境准备具体如下:

4.3基于ansible的OpenStack私有云平台自动化部署

1) Ansible远程主机配置

在Ansible的目录树中,/etc/ansible/hosts文件为ansible执行时读取的主机文件,内部可以通过主机组来区分不同部分的功能和作用也可以通过主机组来执行的不同的命令。这里的主机之间的关系是通过inventory文件来进行维持和最终的配置,此关系最终的维持配置文件就是下面要配置的文件。在这里将Ansible主机分成一个主机组,另外一个主机分成一个主机组,如下所示:

5 总结

OpenStack私有云平台被企业广泛应用,但其部署过程复杂、耗时长、技术要求高。论文以双节点的OpenStack私有云部署为研究对象,提出使用ansible自动化部署工具来改善手动部署的缺点,编写了ansible自动化部署文件,并在双节点集群上进行了自动化部署测试。测试结果显示,基于ansible的自动化部署将部署时间从5~6小时缩减至10~20分钟,大大降低了OpenStack私有云部署的时间成本。

参考文献:

[1]孙春雨.基于Linux集群的Ansible部署与自动化管理研究[J].中国管理信息化,2019,22(9):165-166.

[2] 陆冰芳,粟邈如.基于Ansible的web形式自动化运维系统的研究与设计[J].数字技术与应用,2017(12):151-152.

[3] 付杨洋,刘音,严紫薇,等.私有云计算平台的设计[J].电子技术与软件工程,2018(12):67.

[4]杨秀芳.OpenStack在学校教学私有云搭建中的应用[J].电脑编程技巧与维护,2019(5):97-98,110.

[5]姚捃,严南.OpenStack高可用分布式存储方案设计与实现[J].计算机技术与发展,2019(2):35-38.

【通联编辑:王力】