CN109634621A - Openstack平台部署方法、存储介质、电子设备及系统 - Google Patents

Openstack平台部署方法、存储介质、电子设备及系统 Download PDF

Info

Publication number
CN109634621A
CN109634621A CN201811458087.1A CN201811458087A CN109634621A CN 109634621 A CN109634621 A CN 109634621A CN 201811458087 A CN201811458087 A CN 201811458087A CN 109634621 A CN109634621 A CN 109634621A
Authority
CN
China
Prior art keywords
component
openstack
mirror image
kubernetes
helm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811458087.1A
Other languages
English (en)
Inventor
王磊
曹冉
张凤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WUHAN FIBERHOME INTERGRATION TECHNOLOGIES Co Ltd
Original Assignee
WUHAN FIBERHOME INTERGRATION TECHNOLOGIES Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WUHAN FIBERHOME INTERGRATION TECHNOLOGIES Co Ltd filed Critical WUHAN FIBERHOME INTERGRATION TECHNOLOGIES Co Ltd
Priority to CN201811458087.1A priority Critical patent/CN109634621A/zh
Publication of CN109634621A publication Critical patent/CN109634621A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种Openstack平台部署方法、存储介质、电子设备及系统,涉及大数据技术领域,该方法包括:S1、将各Openstack组件分别制作成Docker镜像,并将各Docker镜像存储至预设的镜像仓库中;S2、根据各Docker镜像制作成适用于Helm组件的应用模板;S3、将Kubernetes配置在需进行部署的目标服务器上,并向Kubernetes配置各应用模板;S4、利用Helm组件根据各应用模板配置Openstack平台。本发明利用Docker镜像的方式,解决不同组件不同依赖的复杂性,从而使得Openstack平台的配置方便快捷,提高了工作效率。

Description

Openstack平台部署方法、存储介质、电子设备及系统
技术领域
本发明涉及大数据技术领域,具体涉及一种Openstack平台部署方法、存储介质、电子设备及系统。
背景技术
OpenStack是当前最主流的开源云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API(Application Program Interface,应用程序接口)以进行集成。
但是由于OpenStack其组件的复杂且多样,对于OpenStack的部署而言,安装无疑是最困难的,目前主流的OpenStack部署方式有以下几种:DevStack方式、手动部署、Ansible方式以及Docker+Ansible方式,但上述方式操作麻烦,效率低下;
随着当前OpenStack和Kubernetes的计算技术的蓬勃发展,越来越多的企业和个人用户开始投入到OpenStack和Kubernetes的研发使用中。但由于目前的OpenStack部署方式存在着各自的缺陷,能否利用Kubernetes技术的强大功能,寻找一种新的快速灵活,方便升级和维护的部署方式成为了一个新的突破口,
因此,急需一种新的Openstack平台部署方法,以提高Openstack平台部署的工作效率。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种Openstack平台部署方法,利用Docker镜像的方式,解决不同组件不同依赖的复杂性,从而使得Openstack平台的配置方便快捷,提高了工作效率。
为达到以上目的,本发明采取的技术方案是:
第一方面,本发明提供一种Openstack平台部署方法,其包括以下步骤:
S1、将各Openstack组件分别制作成Docker镜像,并将各所述Docker镜像存储至预设的镜像仓库中;
S2、根据各所述Docker镜像制作成适用于Helm组件的应用模板;
S3、将Kubernetes配置在需进行部署的目标服务器上,并向所述Kubernetes配置各所述应用模板;
S4、利用所述Helm组件根据各所述应用模板配置Openstack平台。
在上述技术方案的基础上,所述步骤S1具体包括:
S101、预置Docker运行环境;
S102、预置所述镜像仓库;
S103、创建原生linux操作系统容器;
S104、配置各所述Openstack组件的应用环境;
S105、向所述原生linux操作系统容器配置各所述Openstack组件;
S106、将各所述Openstack组件分别制作成Docker镜像;
S107、将各所述Docker镜像存储至预设的镜像仓库中。
在上述技术方案的基础上,所述步骤S3包括:
S301、创建所述Kubernetes的ConfigMap组件,所述ConfigMap组件用于保存各所述Openstack组件运行时所需的配置文件和脚本;
S302、创建所述Kubernetes的Service组件,所述Service组件用于向各所述OpenStack组件提供服务;
S303、创建所述Kubernetes的Job组件,所述Job组件用于对各所述OpenStack组件进行初始化操作;
S304、创建所述Kubernetes的Deployment组件以及StatefulSet组件,并设置所述Deployment组件以及所述StatefulSet组件中的容器组副本数;
S305、利用所述Kubernetes从所述镜像仓库提取各所述Docker镜像;
S306、确保初始化操作完成后,向所述Kubernetes配置各所述应用模板。
在上述技术方案的基础上,还包括回滚操作,所述回滚操作以下步骤:
利用所述Helm组件对所述Openstack平台进行回滚操作。
在上述技术方案的基础上,还包括回滚操作,所述回滚操作包括以下步骤:
A1、删除已部署的各所述OpenStack组件中的所述Job组件;
A2、通过所述Helm组件保存的之前版本的配置值,进行各所述OpenStack组件的回退操作;
A3、所述Kubernetes进行各所述OpenStack组件镜像回滚,配置回滚,数据库回滚操作。
在上述技术方案的基础上,还包括升级操作,所述升级操作包括以下步骤:
利用所述Helm组件对所述Openstack平台进行升级操作。
在上述技术方案的基础上,还包括升级操作,所述升级操作包括以下步骤:
B1、通过所述Helm组件获取已部署的各所述OpenStack组件的配置值;
B2、删除已部署的各所述OpenStack组件中的所述Job组件;
B3、通过所述Helm组件使用修改过的Helm应用模板,进行各所述OpenStack组件的使用修改过的Helm应用模板操作;
B4、所述Kubernetes进行各所述OpenStack组件镜像更新,配置更新,数据库更新。
第二方面,本发明还提供一种存储介质,该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的Openstack平台部署方法。
第三方面,本发明还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的Openstack平台部署方法。
第四方面,本发明还提供一种Openstack平台部署系统,其包括:
Docker镜像创建单元,其用于将各Openstack组件分别制作成Docker镜像,并将各所述Docker镜像存储至预设的镜像仓库中;
应用模板创建单元,其用于根据各所述Docker镜像制作成适用于Helm组件的应用模板;
Kubernetes配置单元,其用于将Kubernetes配置在需进行部署的目标服务器上,并向所述Kubernetes配置各所述应用模板;
Openstack平台配置单元,其用于利用所述Helm组件根据各所述应用模板配置Openstack平台。
与现有技术相比,本发明的优点在于:
(1)、本发明利用Docker镜像的方式,解决不同组件不同依赖的复杂性,从而使得Openstack平台的配置方便快捷,提高了工作效率。
(2)、本发明将OpenStack的各个组件部署在Kubernetes上,可以通过Kubernetes容器组多副本的功能,实现OpenStack组件的多副本,从而保证组件的高可用和高性能。
(3)、本发明将OpenStack的各个组件部署在Kubernetes上,能够实现不断业务的升级操作或者回退操作,使用Helm部署OpenStack各个组件,可以方便OpenStack各个组件的版本管理、配置管理,方便升级和回退操作
附图说明
图1为本发明实施例一提供的一种Openstack平台部署方法的步骤流程图;
图2为本发明实施例一提供的一种Openstack平台部署方法中步骤S1的步骤流程图;
图3为本发明实施例一提供的一种Openstack平台部署方法中步骤S3的步骤流程图;
图4为本发明实施例一提供的一种Openstack平台部署方法的回滚操作的步骤流程图;
图5为本发明实施例一提供的一种Openstack平台部署方法的更新操作的步骤流程图;
图6为本发明实施例二提供的一种Openstack平台部署系统的结构框图;
图7为本发明实施例四提供的一种Openstack平台部署电子设备的结构框图;
图中:1、Docker镜像创建单元;2、应用模板创建单元;3、Kubernetes配置单元;4、Openstack平台配置单元;5、回滚操作单元;6、升级操作单元。
具体实施方式
以下结合附图对本发明的实施例作进一步详细说明。
本发明实施例提供一种Openstack平台部署方法、存储介质、电子设备及系统,利用Docker镜像的方式,解决不同组件不同依赖的复杂性,从而使得Openstack平台的配置方便快捷,提高了工作效率。
为达到上述技术效果,本申请的总体思路如下:
一种Openstack平台部署方法,其包括以下步骤:
S1、将各Openstack组件分别制作成Docker镜像,并将各所述Docker镜像存储至预设的镜像仓库中;
S2、根据各所述Docker镜像制作成适用于Helm组件的应用模板;
S3、将Kubernetes配置在需进行部署的目标服务器上,并向所述Kubernetes配置各所述应用模板;
S4、利用所述Helm组件根据各所述应用模板配置Openstack平台。
本发明实施例中,利用Docker镜像的方式,解决不同组件不同依赖的复杂性,从而使得Openstack平台的配置方便快捷,提高了工作效率。
实施例一
如图1至5所示,本发明第一实施例提供了一种Openstack平台部署方法,其包括以下步骤:
S1、将各Openstack组件分别制作成Docker镜像,并将各Docker镜像存储至预设的镜像仓库中;
S2、根据各Docker镜像制作成适用于Helm组件的应用模板;
S3、将Kubernetes配置在需进行部署的目标服务器上,并向Kubernetes配置各应用模板;
S4、利用Helm组件根据各应用模板配置Openstack平台。
本发明实施例中,利用Docker镜像的方式,解决不同组件不同依赖的复杂性,从而使得Openstack平台的配置方便快捷,提高了工作效率。
在步骤S1中,将各Openstack组件分别制作成Docker镜像,并将各Docker镜像存储至预设的镜像仓库中;
需要说明的是,在OpenStack部署时,具体可以基于Kubernetes平台,Kubernetes是一个容器管理平台,要把OpenStack的各组件部署到Kubernetes平台上面,就需要把OpenStack的各组件制作成Docker镜像,此为预先准备工序。
具体的,在本发明实施例中,步骤S1具体可以包括以下步骤:
S101、预置Docker运行环境;
S102、预置镜像仓库;
S103、创建原生linux操作系统容器;
S104、配置各Openstack组件的应用环境;
S105、向原生linux操作系统容器配置各Openstack组件;
S106、将各Openstack组件分别制作成Docker镜像;
S107、将各Docker镜像存储至预设的镜像仓库中;
其中,由于制作Docker镜像首先必须要拥有一个Docker的运行环境,故而在步骤S101中预置Docker运行环境,即安装Docker运行环境;
而后,步骤S102中,则需要为Docker镜像需要一个本地的镜像仓库,故而需要预置镜像仓库,从而保存Docker镜像,在部署OpenStack组件时,也可以从本地的镜像仓库中拉取镜像;
进而在步骤103中,创建原生linux操作系统容器,具体原因是OpenStack组件可以部署在各种linux操作系统上,可以是Centos、Ubuntu或其他版本,因此需要首先应当启动一个原生linux操作系统的容器;
而后步骤S104中,配置各Openstack组件的应用环境,此步骤中,装OpenStack组件的依赖。根据不同的linux操作系统,以及OpenStack组件部署方式,可以是源码方式、安装包方式或者其他方式,在容器内安装OpenStack组件运行所需要的的依赖;
而在步骤S105中,向原生linux操作系统容器配置各Openstack组件,配置方式可以是源码方式、安装包方式或其他的部署方式;
S106、将各Openstack组件分别制作成Docker镜像;
最后,在步骤S107中,将各Docker镜像存储至预设的镜像仓库中,统一保存,并准备为后续使用。
本发明实施例中,步骤S2为根据各Docker镜像制作成适用于Helm组件的应用模板,具体是将各OpenStack组件根据各Docker镜像制作成适用于Helm组件的应用模板
其中,将OpenStack各组件分别编写成Helm的应用模板,由于部署OpenStack中的每个组件都会用到Kubernetes多种类型的资源,手动部署无疑会耗费巨大的工作量;
因此,需要提前把OpenStack各组件编写为Helm应用模板,在部署时,使用Helm设置一些配置值,例如,组件部署的节点,节点的公网IP,使用后端存储信息等,从而进行部署,减少工作量。
在步骤S3之前还包括预先部署的步骤,即部署Kubernetes并部署Helm组件,而在部署Kubernetes和Helm时,可以通过kubespray,kubeadm或者手动部署等多种方式。
本发明实施例中,步骤S3包括:
S301、创建Kubernetes的ConfigMap组件,ConfigMap组件用于保存各Openstack组件运行时所需的配置文件和脚本;
S302、创建Kubernetes的Service组件,Service组件用于向各OpenStack组件提供服务;
S303、创建Kubernetes的Job组件,Job组件用于对各OpenStack组件进行初始化操作;
S304、创建Kubernetes的Deployment组件以及StatefulSet组件,并设置Deployment组件以及StatefulSet组件中的容器组副本数;
S305、利用Kubernetes从镜像仓库提取各Docker镜像;
S306、确保初始化操作完成后,向Kubernetes配置各应用模板;
其中,ConfigMap组件即ConfigMap资源,Service组件即Service资源、Job组件即Job资源、Deployment组件即Deployment资源,而StatefulSet组件即StatefulSet资源;
而设置Deployment组件以及StatefulSet组件中的容器组副本数,则能够保证OpenStack组件多副本运行,保证其高可靠和高性能。
步骤S4中,通过Helm组件部署OpenStack时,首先部署公共软件MariaDB,RabbitMQ以及Memcached,然后部署OpenStack的各个组件,各组件具体包括:Nova,Keystone,Glance,Cinder,Heat,Horizon,Libvirt等组件;
而在部署的过程中,Helm组件会调用Kubernetes自动从镜像仓库中拉取并使用OpenStack各组件制作成Docker镜像。
本发明实施例中,该方法还包括回滚操作,回滚操作以下步骤:
利用Helm组件对Openstack平台进行回滚操作。
具体的,回滚操作包括以下步骤:
A1、删除已部署的各OpenStack组件中的Job组件;
A2、通过Helm组件保存的之前版本的配置值,进行各OpenStack组件的回退操作;
其中,由于Helm组件自动会保存之前版本的OpenStack组件的配置值,因此可以直接使用Helm组件的回滚操作进行回滚;
A3、Kubernetes进行各OpenStack组件镜像回滚,配置回滚,数据库回滚操作。
本发明实施例中,该方法还包括升级操作,升级操作包括以下步骤:
利用Helm组件对Openstack平台进行升级操作。
具体的,升级操作包括以下步骤:
B1、通过Helm组件获取已部署的各OpenStack组件的配置值;
B2、删除已部署的各OpenStack组件中的Job组件;
B3、通过Helm组件使用修改过的Helm应用模板,进行各OpenStack组件的使用修改过的Helm应用模板操作;
B4、Kubernetes进行各OpenStack组件镜像更新,配置更新,数据库更新。
需要说明的是,但是由于OpenStack其组件的复杂且多样,对于OpenStack的部署而言,安装无疑是最困难的,目前主流的OpenStack部署方式有以下几种:
DevStack方式:DevStack是众多开发者们的首选安装方式或工具,该方式主要是通过配置参数,执行shell脚本来安装一个OpenStack的开发环境;
安装过程中,Shell脚本会自动拉取远程数据源进行安装,但由于网络等问题,一旦出现某一数据源访问中断的情况,就会导致安装失败,而且DevStack方式更多的适用于开发的场景。
手动部署:OpenStack官方对各个组件的安装都提供了详细的说明文档,通过OpenStack官网,下载各组件源代码,根据官方手册,用户可以手动安装和配置需要的各组件;
这种方法能够最大限度地发挥OpenStack的强大功能,但是由于组件模块较多,安装配置复杂,对于用户而言是一个巨大的挑战。
Ansible方式:Ansible是新近出现的自动化运维工具,已被Red Hat收购,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、saltstack等)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能,它一方面总结了Puppet的设计上的得失,另一方面也改进了很多设计,比如是基于SSH方式工作,故而不需要在被控端安装客户端;
但是该方式会由于组件部署在不同的操作系统上,以及不同组件依赖的复杂性和矛盾性。因此该方式还需要投入巨大的开发量。
Docker+Ansible方式:Docker是Docker.Inc公司开源的一个基于LXC技术之上构建的Container容器引擎.Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化;
Docker方式虽然能够部分解决Openstack各组件部署不同组件依赖的复杂性和矛盾性,但是该方式无法保证OpenStack各个组件的升级和回滚过程中的服务可用性,以及各个组件的版本管理问题;
其中,Kubernetes是Google开源的一个容器编排引擎或者说是一个容器集群管理平台,它支持自动化部署、大规模可伸缩、应用容器化管理,Helm是Kubernetes的一个包管理工具,用来简化Kubernetes应用的部署和管理,Helm通过打包应用需要的Kubernetes资源的形式,很大程度上简化了Kubernetes应用部署和管理的复杂性,并支持应用的版本管理,以及升级和回退的控制。
另外,Helm有三个重要的概念:
应用模板(Chart):包含了创建Kubernetes的一个应用实例的必要信息。
配置(Config):包含了应用实例配置信息。
应用实例(Release):是应用模板及其配置的一个运行实例。
基于同一发明构思,本申请提供了实施例一对应的Openstack平台部署系统的实施例,详见实施例二
实施例二
如图6所示,本发明第二实施例提供了一种Openstack平台部署系统,其包括:
Docker镜像创建单元1,其用于将各Openstack组件分别制作成Docker镜像,并将各Docker镜像存储至预设的镜像仓库中;
应用模板创建单元2,其用于根据各Docker镜像制作成适用于Helm组件的应用模板;
Kubernetes配置单元3,其用于将Kubernetes配置在需进行部署的目标服务器上,并向Kubernetes配置各应用模板;
Openstack平台配置单元4,其用于利用Helm组件根据各应用模板配置Openstack平台。
本发明实施例中,利用Docker镜像的方式,解决不同组件不同依赖的复杂性,从而使得Openstack平台的配置方便快捷,提高了工作效率。
在Docker镜像创建单元1工作时,将各Openstack组件分别制作成Docker镜像,并将各Docker镜像存储至预设的镜像仓库中;
需要说明的是,在OpenStack部署时,具体可以基于Kubernetes平台,Kubernetes是一个容器管理平台,要把OpenStack的各组件部署到Kubernetes平台上面,就需要把OpenStack的各组件制作成Docker镜像,此为预先准备工序。
具体的,在本发明实施例中,在Docker镜像创建单元1工作时,具体可以包括以下步骤:
S101、预置Docker运行环境;
S102、预置镜像仓库;
S103、创建原生linux操作系统容器;
S104、配置各Openstack组件的应用环境;
S105、向原生linux操作系统容器配置各Openstack组件;
S106、将各Openstack组件分别制作成Docker镜像;
S107、将各Docker镜像存储至预设的镜像仓库中;
其中,由于制作Docker镜像首先必须要拥有一个Docker的运行环境,故而在步骤S101中预置Docker运行环境,即安装Docker运行环境;
而后,步骤S102中,则需要为Docker镜像需要一个本地的镜像仓库,故而需要预置镜像仓库,从而保存Docker镜像,在部署OpenStack组件时,也可以从本地的镜像仓库中拉取镜像;
进而在步骤103中,创建原生linux操作系统容器,具体原因是OpenStack组件可以部署在各种linux操作系统上,可以是Centos、Ubuntu或其他版本,因此需要首先应当启动一个原生linux操作系统的容器;
而后步骤S104中,配置各Openstack组件的应用环境,此步骤中,装OpenStack组件的依赖。根据不同的linux操作系统,以及OpenStack组件部署方式,可以是源码方式、安装包方式或者其他方式,在容器内安装OpenStack组件运行所需要的的依赖;
而在步骤S105中,向原生linux操作系统容器配置各Openstack组件,配置方式可以是源码方式、安装包方式或其他的部署方式;
S106、将各Openstack组件分别制作成Docker镜像;
最后,在步骤S107中,将各Docker镜像存储至预设的镜像仓库中,统一保存,并准备为后续使用。
本发明实施例中,应用模板创建单元2,根据各Docker镜像制作成适用于Helm组件的应用模板,具体是将各OpenStack组件根据各Docker镜像制作成适用于Helm组件的应用模板
其中,将OpenStack各组件分别编写成Helm的应用模板,由于部署OpenStack中的每个组件都会用到Kubernetes多种类型的资源,手动部署无疑会耗费巨大的工作量;
因此,需要提前把OpenStack各组件编写为Helm应用模板,在部署时,使用Helm设置一些配置值,例如,组件部署的节点,节点的公网IP,使用后端存储信息等,从而进行部署,减少工作量。
Kubernetes配置单元3的工作程序中,还包括预先部署的步骤,即部署Kubernetes并部署Helm组件,而在部署Kubernetes和Helm时,可以通过kubespray,kubeadm或者手动部署等多种方式。
本发明实施例中,Kubernetes配置单元3工作的工序具体包括:
S301、创建Kubernetes的ConfigMap组件,ConfigMap组件用于保存各Openstack组件运行时所需的配置文件和脚本;
S302、创建Kubernetes的Service组件,Service组件用于向各OpenStack组件提供服务;
S303、创建Kubernetes的Job组件,Job组件用于对各OpenStack组件进行初始化操作。
S304、创建Kubernetes的Deployment组件以及StatefulSet组件,并设置Deployment组件以及StatefulSet组件中的容器组副本数。
S305、利用Kubernetes从镜像仓库提取各Docker镜像。
S306、确保初始化操作完成后,向Kubernetes配置各应用模板;
其中,ConfigMap组件即ConfigMap资源,Service组件即Service资源、Job组件即Job资源、Deployment组件即Deployment资源,而StatefulSet组件即StatefulSet资源;
而设置Deployment组件以及StatefulSet组件中的容器组副本数,则能够保证OpenStack组件多副本运行,保证其高可靠和高性能。
本发明实施例中,该方法还包括回滚操作单元5,回滚操作单元5的回滚操作以下步骤:
利用Helm组件对Openstack平台进行回滚操作。
具体的,回滚操作包括以下步骤:
A1、删除已部署的各OpenStack组件中的Job组件;
A2、通过Helm组件保存的之前版本的配置值,进行各OpenStack组件的回退操作;
其中,由于Helm组件自动会保存之前版本的OpenStack组件的配置值,因此可以直接使用Helm组件的回滚操作进行回滚;
A3、Kubernetes进行各OpenStack组件镜像回滚,配置回滚,数据库回滚操作。
本发明实施例中,该方法还包括升级操作单元6,升级操作单元6的升级操作包括以下步骤:
利用Helm组件对Openstack平台进行升级操作。
具体的,升级操作包括以下步骤:
B1、通过Helm组件获取已部署的各OpenStack组件的配置值;
B2、删除已部署的各OpenStack组件中的Job组件;
B3、通过Helm组件使用修改过的Helm应用模板,进行各OpenStack组件的使用修改过的Helm应用模板操作;
B4、Kubernetes进行各OpenStack组件镜像更新,配置更新,数据库更新。
基于同一发明构思,本申请提供了实施例一对应的存储介质的实施例,详见实施例三
实施例三
本发明第三实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一实施例中的所有方法步骤或部分方法步骤。
本发明实现上述第一实施例中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Ran dom Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
基于同一发明构思,本申请提供了实施例一对应的电子设备的实施例,详见实施例四
实施例四
如图7所示,本发明第四实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现第一实施例中的所有方法步骤或部分方法步骤。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、服务器和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种Openstack平台部署方法,其特征在于,其包括以下步骤:
S1、将各Openstack组件分别制作成Docker镜像,并将各所述Docker镜像存储至预设的镜像仓库中;
S2、根据各所述Docker镜像制作成适用于Helm组件的应用模板;
S3、将Kubernetes配置在需进行部署的目标服务器上,并向所述Kubernetes配置各所述应用模板;
S4、利用所述Helm组件根据各所述应用模板配置Openstack平台。
2.如权利要求1所述的方法,其特征在于,所述步骤S1具体包括:
S101、预置Docker运行环境;
S102、预置所述镜像仓库;
S103、创建原生linux操作系统容器;
S104、配置各所述Openstack组件的应用环境;
S105、向所述原生linux操作系统容器配置各所述Openstack组件;
S106、将各所述Openstack组件分别制作成Docker镜像;
S107、将各所述Docker镜像存储至预设的镜像仓库中。
3.如权利要求1所述的方法,其特征在于,所述步骤S3包括:
S301、创建所述Kubernetes的ConfigMap组件,所述ConfigMap组件用于保存各所述Openstack组件运行时所需的配置文件和脚本;
S302、创建所述Kubernetes的Service组件,所述Service组件用于向各所述OpenStack组件提供服务;
S303、创建所述Kubernetes的Job组件,所述Job组件用于对各所述OpenStack组件进行初始化操作;
S304、创建所述Kubernetes的Deployment组件以及StatefulSet组件,并设置所述Deployment组件以及所述StatefulSet组件中的容器组副本数;
S305、利用所述Kubernetes从所述镜像仓库提取各所述Docker镜像;
S306、确保初始化操作完成后,向所述Kubernetes配置各所述应用模板。
4.如权利要求1所述的方法,其特征在于,还包括回滚操作,所述回滚操作以下步骤:
利用所述Helm组件对所述Openstack平台进行回滚操作。
5.如权利要求4所述的方法,其特征在于,还包括回滚操作,所述回滚操作包括以下步骤:
A1、删除已部署的各所述OpenStack组件中的所述Job组件;
A2、通过所述Helm组件保存的之前版本的配置值,进行各所述OpenStack组件的回退操作;
A3、所述Kubernetes进行各所述OpenStack组件镜像回滚,配置回滚,数据库回滚操作。
6.如权利要求1所述的方法,其特征在于,还包括升级操作,所述升级操作以下步骤:
利用所述Helm组件对所述Openstack平台进行升级操作。
7.如权利要求6所述的方法,其特征在于,还包括升级操作,所述升级操作包括以下步骤:
B1、通过所述Helm组件获取已部署的各所述OpenStack组件的配置值;
B2、删除已部署的各所述OpenStack组件中的所述Job组件;
B3、通过所述Helm组件使用修改过的Helm应用模板,进行各所述OpenStack组件的使用修改过的Helm应用模板操作;
B4、所述Kubernetes进行各所述OpenStack组件镜像更新,配置更新,数据库更新。
8.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
9.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的方法。
10.一种Openstack平台部署系统,其特征在于,其包括:
Docker镜像创建单元,其用于将各Openstack组件分别制作成Docker镜像,并将各所述Docker镜像存储至预设的镜像仓库中;
应用模板创建单元,其用于根据各所述Docker镜像制作成适用于Helm组件的应用模板;
Kubernetes配置单元,其用于将Kubernetes配置在需进行部署的目标服务器上,并向所述Kubernetes配置各所述应用模板;
Openstack平台配置单元,其用于利用所述Helm组件根据各所述应用模板配置Openstack平台。
CN201811458087.1A 2018-11-30 2018-11-30 Openstack平台部署方法、存储介质、电子设备及系统 Pending CN109634621A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811458087.1A CN109634621A (zh) 2018-11-30 2018-11-30 Openstack平台部署方法、存储介质、电子设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811458087.1A CN109634621A (zh) 2018-11-30 2018-11-30 Openstack平台部署方法、存储介质、电子设备及系统

Publications (1)

Publication Number Publication Date
CN109634621A true CN109634621A (zh) 2019-04-16

Family

ID=66070317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811458087.1A Pending CN109634621A (zh) 2018-11-30 2018-11-30 Openstack平台部署方法、存储介质、电子设备及系统

Country Status (1)

Country Link
CN (1) CN109634621A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110275717A (zh) * 2019-05-17 2019-09-24 平安科技(深圳)有限公司 私有镜像克隆方法、装置、计算机设备及存储介质
CN110647318A (zh) * 2019-09-29 2020-01-03 星环信息科技(上海)有限公司 一种有状态应用的实例创建方法、装置、设备及介质
CN110704048A (zh) * 2019-09-29 2020-01-17 北京浪潮数据技术有限公司 一种应用发布方法及相关装置
CN110764785A (zh) * 2019-10-09 2020-02-07 国网江苏省电力有限公司信息通信分公司 基于开源组件的电力行业云平台工具链及云平台运维方法
CN110806880A (zh) * 2019-11-04 2020-02-18 紫光云技术有限公司 一种高可靠高性能高效率的容器集群部署方法
CN111049876A (zh) * 2019-10-18 2020-04-21 烽火通信科技股份有限公司 一种轻量电信云边缘计算系统架构
CN111090437A (zh) * 2019-11-19 2020-05-01 平安科技(深圳)有限公司 应用部署方法、装置及计算机可读存储介质
CN111209087A (zh) * 2020-01-15 2020-05-29 南京中新赛克科技有限责任公司 一种基于Docker的大数据学习平台搭建方法
CN111258609A (zh) * 2020-01-19 2020-06-09 北京百度网讯科技有限公司 Kubernetes集群的升级方法、装置、电子设备和介质
CN111338657A (zh) * 2020-02-26 2020-06-26 山东汇贸电子口岸有限公司 一种基于模板的helm参数批量配置方法
CN111666080A (zh) * 2020-04-28 2020-09-15 平安科技(深圳)有限公司 微服务集群部署方法、装置、计算机设备及存储介质
CN112379934A (zh) * 2019-07-29 2021-02-19 中移(苏州)软件技术有限公司 一种云计算平台的部署方法及装置、存储介质
CN112597133A (zh) * 2020-12-29 2021-04-02 深圳复临科技有限公司 一种百人研发团队项目管理场景的数据应用管理系统
CN112948014A (zh) * 2021-01-26 2021-06-11 浪潮商用机器有限公司 一种OpenPOWER平台上CEPH系统的使用方法及相关组件
CN112995267A (zh) * 2019-12-16 2021-06-18 中科星图股份有限公司 一种基于Kubernetes集群的数据订阅服务方法和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140337493A1 (en) * 2013-05-09 2014-11-13 Wistron Corporation Client/server network environment setup method and system
CN104156810A (zh) * 2014-07-31 2014-11-19 国网山东省电力公司 一种基于云计算的电力调度生产管理系统及其实现方法
CN108234437A (zh) * 2016-12-22 2018-06-29 航天信息股份有限公司 一种基于Docker 技术部署OpenStack 服务的方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140337493A1 (en) * 2013-05-09 2014-11-13 Wistron Corporation Client/server network environment setup method and system
CN104156810A (zh) * 2014-07-31 2014-11-19 国网山东省电力公司 一种基于云计算的电力调度生产管理系统及其实现方法
CN108234437A (zh) * 2016-12-22 2018-06-29 航天信息股份有限公司 一种基于Docker 技术部署OpenStack 服务的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
老菜_MISA: "使用Helm管理kubernetes应用", 《HTTPS://WWW.JIANSHU.COM/P/5DB132101A09》 *

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110275717A (zh) * 2019-05-17 2019-09-24 平安科技(深圳)有限公司 私有镜像克隆方法、装置、计算机设备及存储介质
CN110275717B (zh) * 2019-05-17 2024-03-22 平安科技(深圳)有限公司 私有镜像克隆方法、装置、计算机设备及存储介质
CN112379934A (zh) * 2019-07-29 2021-02-19 中移(苏州)软件技术有限公司 一种云计算平台的部署方法及装置、存储介质
CN112379934B (zh) * 2019-07-29 2022-12-13 中移(苏州)软件技术有限公司 一种云计算平台的部署方法及装置、存储介质
CN110647318A (zh) * 2019-09-29 2020-01-03 星环信息科技(上海)有限公司 一种有状态应用的实例创建方法、装置、设备及介质
CN110704048A (zh) * 2019-09-29 2020-01-17 北京浪潮数据技术有限公司 一种应用发布方法及相关装置
CN110647318B (zh) * 2019-09-29 2020-08-04 星环信息科技(上海)有限公司 一种有状态应用的实例创建方法、装置、设备及介质
WO2021058020A1 (zh) * 2019-09-29 2021-04-01 星环信息科技(上海)股份有限公司 一种有状态应用的实例创建方法、装置、设备及介质
CN110764785A (zh) * 2019-10-09 2020-02-07 国网江苏省电力有限公司信息通信分公司 基于开源组件的电力行业云平台工具链及云平台运维方法
CN110764785B (zh) * 2019-10-09 2023-06-13 国网江苏省电力有限公司信息通信分公司 基于开源组件的电力行业云平台工具链及云平台运维方法
CN111049876A (zh) * 2019-10-18 2020-04-21 烽火通信科技股份有限公司 一种轻量电信云边缘计算系统架构
CN110806880A (zh) * 2019-11-04 2020-02-18 紫光云技术有限公司 一种高可靠高性能高效率的容器集群部署方法
CN111090437A (zh) * 2019-11-19 2020-05-01 平安科技(深圳)有限公司 应用部署方法、装置及计算机可读存储介质
WO2021098392A1 (zh) * 2019-11-19 2021-05-27 平安科技(深圳)有限公司 应用部署方法、装置、电子设备及存储介质
CN111090437B (zh) * 2019-11-19 2024-03-12 平安科技(深圳)有限公司 应用部署方法、装置及计算机可读存储介质
CN112995267B (zh) * 2019-12-16 2023-04-18 中科星图股份有限公司 一种基于Kubernetes集群的数据订阅服务方法和设备
CN112995267A (zh) * 2019-12-16 2021-06-18 中科星图股份有限公司 一种基于Kubernetes集群的数据订阅服务方法和设备
CN111209087A (zh) * 2020-01-15 2020-05-29 南京中新赛克科技有限责任公司 一种基于Docker的大数据学习平台搭建方法
CN111209087B (zh) * 2020-01-15 2024-01-30 南京中新赛克科技有限责任公司 一种基于Docker的大数据学习平台搭建方法
CN111258609A (zh) * 2020-01-19 2020-06-09 北京百度网讯科技有限公司 Kubernetes集群的升级方法、装置、电子设备和介质
CN111338657B (zh) * 2020-02-26 2023-12-01 山东汇贸电子口岸有限公司 一种基于模板的helm参数批量配置方法
CN111338657A (zh) * 2020-02-26 2020-06-26 山东汇贸电子口岸有限公司 一种基于模板的helm参数批量配置方法
CN111666080A (zh) * 2020-04-28 2020-09-15 平安科技(深圳)有限公司 微服务集群部署方法、装置、计算机设备及存储介质
WO2021217871A1 (zh) * 2020-04-28 2021-11-04 平安科技(深圳)有限公司 微服务集群部署方法、装置、计算机设备及存储介质
CN111666080B (zh) * 2020-04-28 2024-05-03 平安科技(深圳)有限公司 微服务集群部署方法、装置、计算机设备及存储介质
CN112597133A (zh) * 2020-12-29 2021-04-02 深圳复临科技有限公司 一种百人研发团队项目管理场景的数据应用管理系统
CN112948014A (zh) * 2021-01-26 2021-06-11 浪潮商用机器有限公司 一种OpenPOWER平台上CEPH系统的使用方法及相关组件

Similar Documents

Publication Publication Date Title
CN109634621A (zh) Openstack平台部署方法、存储介质、电子设备及系统
US20190026085A1 (en) Intelligent cloud engineering platform
CN108786112B (zh) 一种应用场景配置方法、装置和存储介质
WO2024077885A1 (zh) 容器集群的管理方法、装置、设备及非易失性可读存储介质
CN104360878B (zh) 一种应用软件部署的方法及装置
CN108462746A (zh) 一种基于openstack的容器部署方法及架构
CN111767031B (zh) 一种基于仿真的核电工业互联网实验床
CN110474794A (zh) 一种sdn架构的信息转换方法和系统
US20130304442A1 (en) Scheduling discrete event simulation
CN109731334B (zh) 状态的切换方法和装置、存储介质、电子装置
CN104461693A (zh) 一种桌面云计算环境下的虚拟机更新方法和系统
CN106293847B (zh) 一种虚拟化平台服务支撑的方法
CN104731943A (zh) 一种服务器和数据处理方法
CN103914307A (zh) 一种基于可复用库的交互界面快速实现方法
CN102646056A (zh) 基于电网gis平台的应用的功能扩展方法及装置
CN103077061A (zh) 一种应用软件在安卓设备的安装方法和系统
CN107943618A (zh) 仿真系统的数据快速恢复方法及存储介质
CN109474467A (zh) 网络自动化管理方法、装置、存储介质及电子设备
CN103685564A (zh) 引入插件化应用能力层的行业应用在线运营云平台架构
CN116594836A (zh) 一种基于云原生的多云异构资源统一监控方法及装置
CN109191078A (zh) 一种流程业务建模方法、装置及设备
CN106802790B (zh) 基于云平台的应用用户使用信息管理的方法、设备及系统
CN109656575A (zh) 大数据平台快速部署方法、存储介质、电子设备及系统
CN114579250B (zh) 一种构建虚拟集群的方法、装置及存储介质
CN109976832A (zh) 一种提供寄宿程序的方法与设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190416

RJ01 Rejection of invention patent application after publication