CN106843837B - openstack组件容器化的构建方法 - Google Patents
openstack组件容器化的构建方法 Download PDFInfo
- 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
Links
- 238000010276 construction Methods 0.000 title claims abstract description 17
- 230000008676 import Effects 0.000 claims abstract description 4
- 238000012423 maintenance Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation 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组件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组件镜像比较,如果镜像与原来镜像不同,则删除原来运行的容器实例,使用指定的升级后的镜像创建容器实例,完成组件升级。
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)
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)
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)
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 |
-
2016
- 2016-12-21 CN CN201611192324.5A patent/CN106843837B/zh not_active Expired - Fee Related
Patent Citations (2)
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)
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 |