CN106843837B - openstack组件容器化的构建方法 - Google Patents

openstack组件容器化的构建方法 Download PDF

Info

Publication number
CN106843837B
CN106843837B CN201611192324.5A CN201611192324A CN106843837B CN 106843837 B CN106843837 B CN 106843837B CN 201611192324 A CN201611192324 A CN 201611192324A CN 106843837 B CN106843837 B CN 106843837B
Authority
CN
China
Prior art keywords
docker
mirror image
openstack
openstack component
component
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.)
Expired - Fee Related
Application number
CN201611192324.5A
Other languages
English (en)
Other versions
CN106843837A (zh
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.)
CLP SECTION HUAYUN INFORMATION TECHNOLOGY Co Ltd
Original Assignee
CLP SECTION HUAYUN INFORMATION TECHNOLOGY 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 CLP SECTION HUAYUN INFORMATION TECHNOLOGY Co Ltd filed Critical CLP SECTION HUAYUN INFORMATION TECHNOLOGY Co Ltd
Priority to CN201611192324.5A priority Critical patent/CN106843837B/zh
Publication of CN106843837A publication Critical patent/CN106843837A/zh
Application granted granted Critical
Publication of CN106843837B publication Critical patent/CN106843837B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种openstack组件容器化的构建方法,其包括以下步骤:步骤一,openstack组件docker镜像生成;步骤二,部署节点运行环境配置;步骤三,部署节点本地registry服务配置;步骤四,导入openstack组件docker镜像,该步骤通过docker client端命令行工具和导入脚本完成;步骤五,推送openstack组件docker镜像到本地registry保存;步骤六,将openstack组件部署到服务器;步骤七,升级已经部署的openstack组件。本发明能够降低操作系统升级对openstack组件工作影响,操作简单,实用方便。

Description

openstack组件容器化的构建方法
技术领域
本发明涉及一种构建方法,特别是涉及一种openstack组件容器化的构建方法。
背景技术
由于云计算技术的兴起,带动了云计算平台openstack(开源的云计算管理平台项目)的飞速发展,使之成为了目前非常流行的开源云管理平台。openstack平台每半年更新一个版本,几百家公司,几万人加入其中为其贡献代码,使之功能越来越强大,支持的组件越来越多。随之而来的问题就是openstack配置复杂、组件与组件之间紧密联系、组件与操作系统紧耦合,版本与版本之间变动大,没法平滑过渡升级。
发明内容
本发明所要解决的技术问题是提供一种openstack组件容器化的构建方法,其能够降低操作系统升级对openstack组件工作影响,操作简单,实用方便。
本发明是通过下述技术方案来解决上述技术问题的:一种openstack组件容器化的构建方法,其特征在于,其包括以下步骤:
步骤一,openstack组件docker镜像生成;
步骤二,部署节点运行环境配置;
步骤三,部署节点本地registry服务配置;
步骤四,导入openstack组件docker镜像,该步骤通过docker client端命令行工具和导入脚本完成;
步骤五,推送openstack组件docker镜像到本地registry保存,该步骤通过dockerclient端命令行工具和自动化脚本完成;
步骤六,将openstack组件部署到服务器;
步骤七,升级已经部署的openstack组件。
优选地,所述步骤一包括以下步骤:
步骤十,编写Jinja2模板文件;
步骤十一,ansible工具通过Jinja2模板文件和生成docker镜像所需配置文件,生成Dockerfile文件;
步骤十二,ansible工具通过docker.py模块调用docker执行Dockerfile文件指定的一系列命令和参数进行openstack组件镜像构建;
步骤十三,openstack组件镜像构建完成,根据配置文件将镜像推送到指定的Registry服务器保存或者将生成的openstack组件镜像保存为归档压缩文件。
优选地,所述步骤二包括以下步骤:
步骤二十,部署节点和被部署节点之间通信是通过ssh协议,首先配置主机之间ssh无密码登录;
步骤二十一,配置主机名和ip地址之间映射关系;
步骤二十二,配置ntp server服务;
步骤二十三,安装部署模块和相关依赖包。
优选地,所述步骤三包括以下步骤:
步骤三十,registry软件是以docker镜像方式发布,配置registry首先配置docker deamon;
步骤三十一,docker deamon运行正常,导入registry docker镜像;
步骤三十二,运行registry容器实例。
优选地,所述步骤六包括以下步骤:
步骤六十,编写ansible playbook容器部署代码;
步骤六十一,用户在部署节点上执行部署命令,该命令调用自动化运维工具ansible playbook部署代码,部署代码通过docker.py调用docker运行openstack组件容器实例。
优选地,所述步骤七包括以下步骤:
步骤七十,用户准备升级使用的openstack组件docker镜像,更新到原来部署节点;
步骤七十一,修改全局配置文件openstack组件docker镜像tag参数为新镜像tag;
步骤七十二,用户在部署节点上执行升级命令,该命令调用自动化运维工具ansible playbook升级代码,升级代码通过docker.py调用docker完成openstack组件镜像比较,如果镜像与原来镜像不同,则删除原来运行的容器实例,使用指定的新镜像创建容器实例,完成组件升级。
本发明的积极进步效果在于:本发明能够解决openstack组件与操作系统之间的紧耦合问题,操作系统升级更新软件包对openstack组件工作影响降到了最低可控范围;解决了openstack组件之间共用库文件,一个组件改变其中文件影响其他组件问题;解决了openstack版本升级问题,由一个版本升级到另一个版本变的更简单;对于openstack问题定位也是很好的改进,问题定位范围缩小到一个容器内;对于openstack组件部署时间改善明显,原来一个个包安装、配置、运行,现在通过自动化运维工具ansible启动一个个docker容器。
附图说明
图1为本发明的openstack组件镜像制作流程图。
图2为本发明的openstack组件部署流程图。
图3为本发明的openstack组件升级流程图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
如图1至图3所示,本发明openstack组件容器化的构建方法包括以下步骤:
步骤一,openstack组件docker(开源的应用容器引擎)镜像生成;
步骤二,部署节点运行环境配置;
步骤三,部署节点本地registry(registry是docker镜像管理软件)服务配置;
步骤四,导入openstack组件docker镜像,该步骤通过docker client端命令行工具和导入脚本完成;
步骤五,推送openstack组件docker镜像到本地registry保存,该步骤通过dockerclient端命令行工具和自动化脚本完成;
步骤六,将openstack组件部署到服务器;
步骤七,升级已经部署的openstack组件。
所述步骤一包括以下步骤:
步骤十,编写Jinja2(基于python的模板引擎)模板文件;
步骤十一,ansible(基于python开发的自动化运维工具)工具通过Jinja2模板文件和生成docker镜像所需配置文件,生成Dockerfile(Dockerfile是由一系列命令和参数构成的脚本)文件;
步骤十二,ansible工具通过docker.py模块调用docker执行Dockerfile文件指定的一系列命令和参数进行openstack组件镜像构建;
步骤十三,openstack组件镜像构建完成,根据配置文件将镜像推送到指定的Registry服务器保存或者将生成的openstack组件镜像保存为归档压缩文件。
所述步骤二包括以下步骤:
步骤二十,部署节点和被部署节点之间通信是通过ssh协议,首先配置主机之间ssh无密码登录;
步骤二十一,配置主机名和ip地址之间映射关系;
步骤二十二,配置ntp server服务(平台各组件之间工作正常,要求严格时间同步);
步骤二十三,安装部署模块和相关依赖包。
所述步骤三包括以下步骤:
步骤三十,registry软件是以docker镜像方式发布,配置registry首先配置docker deamon;
步骤三十一,docker deamon运行正常,导入registry docker镜像;
步骤三十二,运行registry容器实例。
所述步骤六包括以下步骤:
步骤六十,编写ansible playbook(ansible使用一种比较易于理解的方法来描述自己的任务配置文件。ansible的任务配置文件被称之为“playbook”)容器部署代码;
步骤六十一,用户在部署节点上执行deploy(部署)命令,该命令调用自动化运维工具ansible playbook部署代码,部署代码通过docker.py调用docker运行openstack组件容器实例。
所述步骤七包括以下步骤:
步骤七十,用户准备升级使用的openstack组件docker镜像,更新到原来部署节点;
步骤七十一,修改全局配置文件openstack组件docker镜像tag参数为新镜像tag;
步骤七十二,用户在部署节点上执行upgrade(升级)命令,该命令调用自动化运维工具ansible playbook升级代码,升级代码通过docker.py调用docker完成openstack组件镜像比较,如果镜像与原来镜像不同,则删除原来运行的容器实例,使用指定的新镜像创建容器实例,完成组件升级。
以上所述的具体实施例,对本发明的解决的技术问题、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种openstack组件容器化的构建方法,其特征在于,其包括以下步骤:
步骤一,openstack组件的docker镜像生成;
步骤二,部署节点运行环境配置;
步骤三,部署节点本地registry服务配置;
步骤四,导入openstack组件的docker镜像,该步骤通过docker client端命令行工具和导入脚本完成;
步骤五,推送openstack组件的docker镜像到本地registry保存,该步骤通过dockerclient端命令行工具和自动化脚本完成;
步骤六,将openstack组件部署到被部署节点;
步骤七,升级已经部署的openstack组件。
2.如权利要求1所述的openstack组件容器化的构建方法,其特征在于,所述步骤一包括以下步骤:
步骤十,编写Jinja2模板文件;
步骤十一,ansible工具通过Jinja2模板文件和生成docker镜像所需配置文件,生成Dockerfile文件;
步骤十二,ansible工具通过docker.py模块调用docker执行Dockerfile文件指定的命令和参数进行openstack组件镜像构建;
步骤十三,openstack组件镜像构建完成,根据配置文件将镜像推送到指定的Registry服务器保存或者将生成的openstack组件镜像保存为归档压缩文件。
3.如权利要求1所述的openstack组件容器化的构建方法,其特征在于,所述步骤二包括以下步骤:
步骤二十,部署节点和被部署节点之间通信是通过ssh协议,首先配置主机之间ssh无密码登录;
步骤二十一,配置主机名和ip地址之间映射关系;
步骤二十二,配置ntp server服务;
步骤二十三,安装部署模块和相关依赖包。
4.如权利要求1所述的openstack组件容器化的构建方法,其特征在于,所述步骤三包括以下步骤:
步骤三十,registry软件是以docker镜像方式发布,配置registry首先配置dockerdeamon;
步骤三十一,docker deamon运行正常,导入registry docker镜像;
步骤三十二,运行registry容器实例。
5.如权利要求1所述的openstack组件容器化的构建方法,其特征在于,所述步骤六包括以下步骤:
步骤六十,编写ansible playbook容器部署代码;
步骤六十一,用户在部署节点上执行部署命令,该命令调用自动化运维工具ansibleplaybook部署代码,部署代码通过docker.py调用docker运行openstack组件容器实例。
6.如权利要求1所述的openstack组件容器化的构建方法,其特征在于,所述步骤七包括以下步骤:
步骤七十,用户准备升级使用的openstack组件的docker镜像,更新到原来部署节点;
步骤七十一,修改全局配置文件openstack组件的docker镜像tag参数为升级后的镜像tag;
步骤七十二,用户在部署节点上执行升级命令,该命令调用自动化运维工具ansibleplaybook升级代码,升级代码通过docker.py调用docker完成openstack组件镜像比较,如果镜像与原来镜像不同,则删除原来运行的容器实例,使用指定的升级后的镜像创建容器实例,完成组件升级。
CN201611192324.5A 2016-12-21 2016-12-21 openstack组件容器化的构建方法 Expired - Fee Related CN106843837B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611192324.5A CN106843837B (zh) 2016-12-21 2016-12-21 openstack组件容器化的构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611192324.5A CN106843837B (zh) 2016-12-21 2016-12-21 openstack组件容器化的构建方法

Publications (2)

Publication Number Publication Date
CN106843837A CN106843837A (zh) 2017-06-13
CN106843837B true CN106843837B (zh) 2020-02-25

Family

ID=59135209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611192324.5A Expired - Fee Related CN106843837B (zh) 2016-12-21 2016-12-21 openstack组件容器化的构建方法

Country Status (1)

Country Link
CN (1) CN106843837B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107436790A (zh) * 2017-08-14 2017-12-05 郑州云海信息技术有限公司 一种组件升级管理方法及装置
CN107515823A (zh) * 2017-08-16 2017-12-26 郑州云海信息技术有限公司 一种生成配置文件的方法
CN107590365A (zh) * 2017-08-22 2018-01-16 武汉古奥基因科技有限公司 Docker技术在高通量测序数据分析中的应用
CN107562472B (zh) * 2017-08-24 2020-04-28 四川长虹电器股份有限公司 基于docker容器的微服务系统及方法
CN107729020B (zh) * 2017-10-11 2020-08-28 北京航空航天大学 一种实现大规模容器快速部署的方法
CN108768683A (zh) * 2018-03-15 2018-11-06 北京奇艺世纪科技有限公司 一种自动化运维方法、装置和系统
CN108628664A (zh) * 2018-05-11 2018-10-09 北京辰森世纪科技股份有限公司 一种容器处理的方法及装置
CN108694053A (zh) * 2018-05-14 2018-10-23 平安科技(深圳)有限公司 基于Ansible工具自动搭建Kubernetes主节点的方法及终端设备
CN108874405B (zh) * 2018-06-20 2021-08-06 郑州云海信息技术有限公司 一种OpenStack环境升级方法
CN108829409B (zh) * 2018-06-20 2022-03-04 泰华智慧产业集团股份有限公司 一种分布式系统快速部署方法及系统
CN109032618B (zh) * 2018-07-11 2021-08-20 郑州云海信息技术有限公司 一种与OpenStack云管理平台的部署及对接方法及系统
CN108984165A (zh) * 2018-07-16 2018-12-11 郑州云海信息技术有限公司 一种构建定制化镜像的方法和系统
CN109065111A (zh) * 2018-08-06 2018-12-21 郑州云海信息技术有限公司 一种基于docker的云平台健康检查系统及方法
CN109218091A (zh) * 2018-09-12 2019-01-15 长飞光纤光缆股份有限公司 一种用微服务方式部署云管理平台的方法
CN109344032A (zh) * 2018-09-27 2019-02-15 郑州云海信息技术有限公司 一种监控方法和装置
CN109656686A (zh) * 2018-12-17 2019-04-19 武汉烽火信息集成技术有限公司 OpenStack上部署容器云方法、存储介质、电子设备及系统
CN109799998B (zh) * 2018-12-18 2023-02-10 深圳先进技术研究院 OpenStack集群配置及批量部署方法及系统
CN109710276B (zh) * 2018-12-21 2021-10-29 郑州云海信息技术有限公司 一种针对OpenStack云平台的持续集成与持续交付的敏捷方法及装置
CN109871213A (zh) * 2018-12-25 2019-06-11 武汉烽火信息集成技术有限公司 基于国产平台的OpenStack容器化系统及方法
CN109901910B (zh) * 2019-01-17 2021-12-07 珠海金山网络游戏科技有限公司 基于分布式容器的文件拉取或推送方法及装置
CN109933312B (zh) * 2019-03-25 2021-06-01 南京邮电大学 一种有效降低容器化关系型数据库i/o消耗的方法
CN112887352B (zh) * 2019-11-29 2023-04-18 北京神州泰岳软件股份有限公司 一种Docker容器的镜像文件上传方法、装置
CN111722866B (zh) * 2020-06-19 2022-06-17 浪潮电子信息产业股份有限公司 一种OpenStack代码修复方法、装置、设备及存储介质
CN112346818B (zh) * 2020-11-02 2024-08-23 北京新媒传信科技有限公司 一种容器应用部署方法、装置、电子设备和存储介质
CN114327576A (zh) * 2021-12-17 2022-04-12 成都知道创宇信息技术有限公司 升级实现方法、装置、系统和电子设备
CN114879984B (zh) * 2022-07-07 2022-10-18 杭州阿启视科技有限公司 动态构建docker镜像减少离线文件体积的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394224A (zh) * 2014-11-28 2015-03-04 无锡华云数据技术服务有限公司 一种负载均衡系统
CN105577779A (zh) * 2015-12-21 2016-05-11 用友网络科技股份有限公司 一种容器化部署大企业私有云的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130325796A1 (en) * 2012-06-05 2013-12-05 Michael Basnight System and Method for Integrating Databases in a Cloud Environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104394224A (zh) * 2014-11-28 2015-03-04 无锡华云数据技术服务有限公司 一种负载均衡系统
CN105577779A (zh) * 2015-12-21 2016-05-11 用友网络科技股份有限公司 一种容器化部署大企业私有云的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
容器技术及其在OpenStack云平台的应用;沈雪晴,朱洪斌,邢宇恒;《电气应用》;20150131;全文 *

Also Published As

Publication number Publication date
CN106843837A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN106843837B (zh) openstack组件容器化的构建方法
US10860339B2 (en) Autonomous creation of new microservices and modification of existing microservices
CN108388445B (zh) 一种基于“平台+应用”模式的持续集成方法
CN112965785B (zh) 基于容器的微服务应用开发方法及开发平台
JP7050106B2 (ja) 実行可能分析モジュールをインスタンス化する方法
CN109271198A (zh) 基于Docker容器的镜像打包方法、装置及电子设备
EP3320436B1 (en) System and method for provisioning cloud services across heterogeneous computing environments
CN109324799A (zh) 一种代码编译方法、计算机装置及计算机可读存储介质
CN111949276B (zh) 一种基于容器方式自动部署应用程序的系统及方法
CN111857801B (zh) 一种移动应用的构建方法
US20130042239A1 (en) System and method for use of a virtual assembly builder
CN112764753A (zh) 一种项目的部署方法、装置、电子设备及存储介质
CN113254054B (zh) 一种智能合约一站式开发系统及方法
CN113779477A (zh) 一种基于PaaS云平台的流水线发布方法及系统
CN112286504A (zh) 移动APP中基于ReactNative实现小程序开发并加载的方法
CN111813420B (zh) 一种对OpenStack集群进行自动化性能测试的方法
CN114461182A (zh) 流水线构建的方法、装置、电子设备及计算机可读存储介质
CN115480801A (zh) 一种基于Vue框架的多项目开发部署运行方法和系统
CN107168735A (zh) 一种自动部署windows系统的方法
CN117931214A (zh) 离线环境下的应用部署方法及装置、电子设备和存储介质
US20210271458A1 (en) Managing an app method and system
CN117971782A (zh) 一种镜像管理方法及服务器
CN116450153B (zh) 一种容器化仿真平台快速部署方法
CN111813836A (zh) 一种提高Ethereum区块链系统扩展性的方法
CN115454572A (zh) 基于Docker工具构建虚拟机磁盘镜像的方法及系统

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200225

CF01 Termination of patent right due to non-payment of annual fee