一种基于Docker技术的云仿真平台轻量化部署方法与流程

文档序号:25957190发布日期:2021-07-20 17:16阅读:505来源:国知局
一种基于Docker技术的云仿真平台轻量化部署方法与流程

本发明涉及计算机仿真技术领域,具体涉及一种基于docker技术的云仿真平台轻量化部署方法。



背景技术:

目前,云仿真平台通常是依托kubenetes、swarm平台,实施对业务应用容器打包,并通过配置文件完成存储、网络、服务间通信调用等操作,实现业务软件的发布、运行、监控等功能。但通常在工程实践中,搭建kubenetes、swarm平台需要较高的服务器性能配置和复杂的配置方法;此外,可直接利用kubenetes、swarm平台的功能较少,通常仅关心业务系统的开机自启动、容器异常自启动、容器快速升级、容器日志收集等功能,工具过于复杂;同时,由于云仿真业务尚未实现完全无状态化,系统尚未实现需求弹性伸缩、负载均衡的功能。



技术实现要素:

针对现有技术中的上述不足,本发明提供的一种基于docker技术的云仿真平台轻量化部署方法解决了用户需求和轻量化部署得不到满足的问题。

为了达到上述发明目的,本发明采用的技术方案为:一种基于docker技术的云仿真平台轻量化部署方法,包括以下步骤:

s1、通过docker封装技术,完成业务应用的可执行程序封装,使用配置文件外挂的形式,根据实际环境进行实时变更环境配置;

s2、通过docker-compose技术实现平台基础软件的编排,完成服务间调用,数据存储读取,数据持久化,容器资源配备;

s3、通过prometheus工具,实现对业务容器的状态、运行情况、资源使用情况、服务日志的数据收集,通过grafana图形化界面,实时获取和监控服务的状态,完成部署。

进一步地:所述容器部署的架构包括从下至上依次设置的基础层、业务层和应用层。

进一步地:所述基础层在centos7操作系统上,完成docker及docker-compose部署之后作为基础环境,包括可执行体、配置文件和持久化文件,然后通过docker封装技术,完成业务镜像的打包封装。

进一步地:所述业务层包括资源配置、网络调用配置、服务启动配置、构成仿真系统的业务镜像和prometheus镜像包,通过docker-compose服务编排工具完成服务编排后的后台应用。

进一步地:所述业务镜像包括场景编辑、仿真推演、模型调度、仿真时钟、态势服务、kafka和redis。

进一步地:所述应用层包括仿真前端、业务状态监控可视化界面,基于业务后台层服务实现的顶层应用,能完成仿真作业,服务状态实时监控。

进一步地:所述轻量化部署方法的流程为:

基础数据准备:基于centos环境完成仿真应用软件开发,形成程序可执行体和依赖文件;通过dockerhub下载基础镜像,包含软件运行的基础环境;提前创建prometheus配置文件和规则文件,并下载prometheus官方镜像;

服务容器化:通过基础数据和docker基本命令,完成dockerfile的撰写并生成docker镜像;

规则设置:通过修改prometheus具体配置,设置监控数据,设置服务发现规则;

服务编排:通过docker-compose文件,编排并发布任务,通过监控的组件配置,实现状态监控功能;

前端:部署前端代码,完成后台访问的配置;仿真前端为面向用户的b端应用,同时通过配置监控信息,完成监控页面配置。

本发明的有益效果为:

(1)用户可以聚焦业务需求,使用docker作为工具,可实现容器能部署之处,应用便可快速部署,而且一次构建,多处应用,真正具备环境剥离、轻量、可快速编排的能力;

(2)用户使用编写好的docker-compose文件,仅需适当修改,就可以实现新环境系统的快速部署,而且仅依赖于docker环境,免除kubernetes或swarm等重量级运行平台的搭建,在业务允许的情况下,仅需要普通性能的机器便可实现应用部署,做到真正的方便、快捷、轻量化;

(3)用户可以通过页面进行配置服务监控信息,包括:应用的cpu使用情况、应用内存使用情况、系统运行数、应用健康状态等信息,直接使用网页的形式配置监控信息,同时也可以对照接口做适当的配置修改,来完成运维页面监控信息展示。既可实现大平台(kubernetes或swarm)具备的监控告警功能,又能满足仿真业务场景的需求。

本发明体系框架具备持续更新、持续迭代、灵活组合、自定义监控的特点。不需要依附集群部署的kubernetes或swarm平台,达到实现环境剥离、快速部署、轻量化,达到“一次生成,多处运行”的目的。

附图说明

图1为本发明中轻量化容器部署方法架构图;

图2为本发明中轻量化部署流程图。

具体实施方式

下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

本发明旨在使用较为简单的部署方式,采用docker技术和prometheus工具实现云仿真平台的轻量化部署,遵循“一次生成,多处运行”的理念,既打破对底层环境强依赖的缺点,又不依赖于应用场所局限性较强的kubernetes环境,相比于大平台运行,既具备实施简单、部署方便、剥离环境依赖的独特优势,又能满足实时业务监控、动态调整、服务监控的目的。

本方法实现云仿真平台的轻量化部署与运行,使用了3种关键技术,见表1。

表1关键技术及描述

首先通过docker封装技术,完成业务应用的可执行程序封装,使用配置文件外挂的形式,可根据实际环境进行实时变更环境配置;然后通过docker-compose技术实现平台基础软件的编排,完成服务间调用,数据存储读取,数据持久化,容器资源配备的工作;最后通过prometheus工具,实现对业务容器的状态、运行情况、资源使用情况、服务日志的数据收集,通过grafana图形化界面,实时获取和监控服务的状态。

轻量化容器部署方法架构思路如图1所示。深色部分表示容器镜像,浅色部分是基本要素或服务。其中,基础层是在centos7操作系统上,完成docker及docker-compose部署之后作为基础环境,包括可执行体、配置文件、持久化文件(包含基础数据、数据库等),然后通过docker封装技术,完成业务镜像的打包封装。

业务层是包含构成仿真系统的业务镜像(包括场景编辑、仿真推演、模型调度、仿真时钟、态势服务、kafka、redis)和prometheus镜像包,通过docker-compose服务编排工具完成服务编排之后的后台应用。

应用层是指仿真前端、业务状态监控等可视化界面,是基于业务后台层服务实现的顶层应用,能完成仿真作业,服务状态实时监控的功能。

基于docker技术的云仿真平台轻量化部署流程如图2所示:

1)基础数据准备:基于centos环境完成仿真应用软件开发,形成程序可执行体和依赖文件;通过dockerhub下载基础镜像,包含软件运行的基础环境;同时需要提前创建prometheus配置文件和规则文件,并下载prometheus官方镜像;

2)服务容器化:通过基础数据和docker基本命令,完成dockerfile的撰写并生成docker镜像;

3)规则设置:通过修改prometheus具体配置,设置监控数据,设置服务发现规则等;

4)服务编排:通过编写docker-compose文件,编排并发布服务,通过监控的组件配置,实现状态监控功能;

5)前端:部署前端代码,修改后台访问的配置;仿真前端是面向用户的b端应用,同时通过配置监控信息,完成监控页面配置。

本发明以仿真应用作为实例来实施云仿真平台轻量化部署。在业务数据已经完成准备的基础上,使用docker的打包命令,实现应用的容器化;在规则设置和服务编排阶段,主要是完成后台服务编排。

具体实施中,使用docker-compose工具完软件的编排和服务调用配置,具体如下:

通过设置environment环境变量,实现服务间发现;

通过配置volumes标签信息,实现数据持久化;

通过配置depends_on信息,实现服务依赖;

通过配置restart:always字段,实现服务异常自启动;

通过配置前后台连接的nginx信息,并通过端口暴漏的形式,完成数据通信交互。

单个应用如场景设计及nginx的详细配置如下:

场景设计:

完成配置,并通过docker-compose启动后,启用前端访问,即可进入仿真平台,可按照仿真业务流程,完成仿真业务操作。

本发明可根据用户需求,自定义监控数据,具备更加的灵活、可用性,业务状态信息监控的配置,关键配置如下:

通过配置scrape_interval、和evaluation_interval字段,配置监控信息信息刷新规则;

通过配置rule_files,附加规则文件;

通过配置scrape_configs,增加监控元素信息;

通过grafana图形化界面自定义配置监控信息。

通过对应用的状态、使用cpu情况、使用内存情况以及关键日志信息收集,并通过grafana工具进行图形化显示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1