阅读 246

如何在OpenStack中轻松部署MySQL应用

内容来源:2017 年 7 月 27 日,Easy Stack云解决方案架构师王璐在“2017 MySQL技术交流大会”进行《OpenStack & MySQL》演讲分享。IT 大咖说(微信id:itdakashuo)作为独家视频合作方,经主办方和演讲者审阅授权发布。

阅读字数:2682 | 7分钟阅读

嘉宾演讲视频及PPT回顾:suo.im/53rnBG

摘要

在大会上,EasyStack云解决方案架构师王璐详细介绍了MySQL在OpenStack中的应用,以及如何通过ESCloud AppCenter轻松部署MySQL应用。

开源发展现状

自从2008年开始开源软件就侵入到了 IT 设施中的各个方面,到了2011 年随着稳定性发展、性能的优化以及架构的完善,开源软件的种类越发丰富,可以说从这时开始它不再是因为免费低廉而被应用。2013年则是软件在侵蚀世界,开源在侵蚀软件。到了2014开源软件已经形成了一个完善的生态体系,从底层的硬件到上层的操作系统再到应用都产生了诸多优秀的开源产品。

开源软件正在形成一个完整的生态,在蓬勃发展过程中为众多企业提供了非常好的基石,来开展自身的 IT 服务。但是目前的基础应用的 IT 设施架构也提出了更高要求。比如分布式应用架构就对传统 IT 架构提出了各方面的要求。

OpenStack 介绍

传统的数据中心进行运维开发时,都是开发测试部门先提出各种环境需求,并提交给数据中心的运维团队,之后再由运维团队负责搭建所需环境。整个过程进展缓慢,一般的规模较大的企业都需要2、3天的时间。

在引入 OpenStack 后这种情况得到了很大的改善,因为OpenStack 就是将计算、存储、网路这些最基本的资源进行虚拟化以提供给用户使用。开发测试团队也有了自己的私有云,可以按照自己的需求将开发测试环境部署到私有云平台。

对比以前传统的软硬件使用方式,OpenStack 将众多资源进行虚拟化,并将它们打包提供给计算资源,再经过统一的界面管理以及资源和安全策略的分配,最后一起打包给用户。在用户侧看来与使用以前搭建好的服务器并无区别。

OpenStack 架构预览

随着 OpenStack 的火热发展,越来越多的人加入到这个行列,OpenStack 为此加入了更多的组件,用来完善生态体系,计算资源不再仅仅局限于 VM,还有裸机化和容器化方面的资源。接下来我们来简要的看下图中各个 OpenStack 组件的功能。

中间的红色部分是计算资源服务 VM 虚拟机。Glance 是镜像服务,提供了最基本的镜像安装服务。Neutron 是在 OpenStack 内提供虚拟化网路的组件。Cinder 用来提供块存储。Horizon 提供了Web界面用来方便的管理资源。对于批量创建虚拟机的需求,可以通过Heat 自动化服务便捷完成。Cellometer 是计费组件,比如对外提供服务的公有云就需要进行收费,还有流量等其他资源的监控。Keystone 用来验证身份。

OpenStack 还有四个非常重要的组件 Magnum、Sahara、Murano、Trove。

EasyStack ESCloud 功能架构概览

EasyStack ESCloud 是基于 OpenStack 开源技术提出的全方位的应用解决方案。在 OpenStack 的 IaaS 基础设施上我们通过 ESCloud Core 提供了自动化的安装工具,还开发了基于CentOS 的操作系统,并在系统内进行了安全性的检查和一定的裁剪,使得系统更加安全和轻量化。

ESCloud 继承了很多 OpenStack 自带的特性并进行了改进。管理方面也有很大的进步,比如容器已经支持应用集群,有着自己的应用商店。

Trove in ESCloud

OpenStack 发展至今已经不仅仅是提供虚拟资源以及容器或者裸机的服务,而随着大数据时代的来历,数据库的应用也越发重要,因此我们将 Trove 引入到了 EasyStack 的产品包中。它是OpenStack中的一个组件,可以用来将MySQL、Mongodb等数据库进行云化处理,提供DBaaS服务。

Trove 构建于 OpenStack 原有的几大组件服务之上,实际拥有云平台的一些特性,比如容灾隔离、动态调度、快速响应等能力,减少研发重复部署环境的步骤。

上图是ESCloud 基于 Trove 的数据交互和管理方案,底层应用Trove OpenStack 的技术,在此之上我们又进行了一些改进,使它拥有了以下特性。

- 自动式数据库平台服务

- 标准化快速部署数据库

- 提供数据库生命周期管理

- 由 ESCloud 供应 IaaS

- 充分利用硬件资源,节省成本

基于Murano框架的ESCloud应用中心

Murano 是 OpenStack 的 Application Catalog 服务,推崇 AaaS(Anything-as-a-Service)的概念,为用户、云管理员和应用开发者提供一个可浏览的分类的应用目录。通过统一的框架和API 实现应用程序快速部署和应用程序生命周期管理功能,降低应用程序对底层平台(OpenStack 层和虚拟化层)的依赖。

ESCloud Murano中有很多精心设计的应用目录和交互特性应用目录。通过简洁的界面,用户可以通过图标展示找到MySQL,然后使用点击、拖拽的方式进行选择和部署MySQL。

ESCloud 的每个应用程序都提供了所需配置的默认信息,用户可以按照这些默认信息轻松部署。另外,应用程序拓扑图可以很清晰的展示每个应用程序孵化实例的数量。

应用部署管理的流程包括从应用商店中选择应用、填写应用名称、配置实例参数、查看安装好的应用、 从已安装应用中删除不需要应用、点击应用名称查看应用详情、通过快速入口访问应用。

另外EasyStack将与爱可生合作将云树DMP引入ESCloud AppCenter,为客户提供MySQL的可视化运维管理服务。

除了用 Trove 和 Murano 将 MySQL 引入 OpenStack 平台以外,我们还提供容器化引入方式,使用K8S 统一编排,可以进行一键化的部署安装和统一监控。

容器化实现了 MySQL的快速部署、动态扩展、资源高利用、成本降低。

容器云平台已经足够成熟,采用容器后,可实现数据库实例的快速创建、容器弹性可伸缩,可以极大的提高资源利用率、极大的降低了服务器资源。