【技术实现步骤摘要】
一种基于Docker的虚拟仿真实验系统及方法
[0001]本专利技术涉及计算机领域,尤其是工程计算模拟领域,尤其是一种虚拟仿真实验系统。
技术介绍
[0002]虚拟仿真是用一个计算机系统来模仿另一个真实系统的技术,又称为仿真技术或模拟技术,是一种可创建和体验虚拟世界的计算机系统。
[0003]Docker是GO语言写、开源的应用容器引擎、轻量级的操作系统虚拟化解决方案,装载Linux、OSX、Windows操作系统环境的应用,实现了对应用的编译、封装、部署、运行等生命周期管理。Docker提供了一种可移植的标准化部署过程,支持规模化、自动化、异构化的部署。
[0004]Kubernetes是Google开发的开源的容器编排工具,是一个完备的分布式系统支撑平台,具有集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、內建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时Kubernetes提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。
[0005]虚拟仿真实验系统管理功能基于J2EE环境开发,J2EE是由Sun公司定义的开发分布式企业级应用的规范。数据库采用Mysql,存储虚拟实验的过程数据、结果数据以及整体系统的用户、配置、日志等数据。
[0006]虚拟实验环境是为学生、科研人员提供实验教学、项目实验模拟的基础,搭建实验环境有三个难点问题:< ...
【技术保护点】
【技术特征摘要】
1.一种基于Docker的虚拟仿真实验系统及方法,其特征在于,本发明包括虚拟实验环境部分、统一用户登录管理平台部分,所述虚拟实验环境部分兼容Windows、Linux及其分支操作系统的实验内容,同时实现对虚拟实验环境管理;所述统一用户登录管理平台部分采用B/S架构,最终使用者通过浏览器登录远程实验环境主机,系统根据用户登录账户授予系统功能权限及虚拟环境资源权限。2.根据权利要求1所述的一种基于Docker的虚拟仿真实验系统及方法,其特征在于,所述虚拟仿真实验系统包括Docker基础环境模块、Kubernetes与Docker集成模块、仿真实验环境配置模块;所述Docker基础环境模块在操作系统层提供了统一标准的容器运行环境,处在最底层,负责实际镜像拉取,容器启停操作;所述Kubernetes与Docker集成模块则提供了跨节点容器调度编排能力,负责实际运行pod网络、存储对接,通过调用Docker基础环境模块提供的API实现;所述仿真实验环境配置模块,是对实际仿真实验环境的应用层的管理抽象,包含应用管理、镜像管理、认证管理、资源管理其静态表现为实验运行环境的Docker镜像,其动态表现为实际运行pod。3.根据权利要求1所述的一种基于Docker的虚拟仿真实验系统及方法,其特征在于,Kubernetes与Docker整合用于仿真实验平台的网络架构如下:控制口Apiserver:作为整个系统的控制入口,以REST API服务提供接口。复制控制器ReplicationController(RC):RC用来管理Pod,一个RC可以由一个或多个Pod组成,在RC被创建后,系统会根据定义好的副本数来创建Pod数量。服务器Service:定义了一个Pod逻辑集合的抽象资源,Pod集合中的容器提供相同的功能。集合根据定义的Label和selector完成,当创建一个Service后,会分配一个Cluster IP,这个IP与定义的端口提供这个集合一个统一的访问接口,并且实现负载均衡。其他Etcd:负责节点间的服务发现和配置共享。资源分配器Scheduler:负责节点资源管理,接受来自Apiserver创建Pods任务,并分配到某个节点。控制器Master:是中央控制点,它提供了一个统一的集群视图。有一个主节点,控制多个下属Slave。运行器Minion:是一个由主节点委托运行任务的worker。它能运行一个或多个Pods。它在容器环境中提供了一个特定于应用程序的"虚拟主机"。库贝代理Kube
‑
proxy:运行在每个计算节点上,负责Pod网络代理。定时从etcd获取到service信息来做相应的策略。部署单元Pod:在Kubernetes系统中,调度的最小颗粒不是单纯的容器,而是抽象成一个Pod,Pod是一个可以被创建、销毁、调度、管理的最小的部署单元。4.根据权利要求1所述的一种基于Docker的虚拟仿真实验系统及方法,其特征在于,仿真实验实际运行过程基本如下:第一步,依据不同的仿真实验实际,选取对应的基础Docker镜像,如ubuntu14.04,再安装依赖库,如QT,最后集成仿真实验程序和配置文件封装出一个通用的Docker镜像;第二步,将做好的Docker镜像上传至仿真PaaS系统镜像仓库;第三步,创建不同的账号和租户;第四步,使用对应的账号登录后,通过仿真实验镜像创建出实际的应用(Pod),
Kubernetes的Scheduler组件负责挑选运行该应用最合适的节点;第五步,进入仿真实验环境开始仿真实验;第六步,实验完成,实验结果数据收集。5.根据权利要求1
‑
4中任意一项所述的一种基于Docker的虚拟仿真实验系统及方法,其特征在于,在仿真实验实际运行过程中,Docker组件负责镜像构建和上传,账号认证和应用运行由仿真PaaS平台完成,仿真实验则为实际运行的Pod;仿真实验入口格式为“Master节点IP:NodePort”,实际流量由Kubernetes根据Etcd注册信息,将流量通过Kube
‑
proxy引流至ClusterIP,ClusterIP会自动将流量负载至实际运行的pod(仿真实验);从终端用户的角度看,一个仿真实验环境就是一个URL。6.根据权利要求1所述的一种基于Docker的虚拟仿真实验系统及方法,其特征在于,用户登录仿真实验环境系统及仿真实验资源换件的流程包括如下步骤:步骤1:终端用户使用浏览器登陆实验平台,进行账户身份的校检,实验平台返回给与用户身份相对应的功能及资源权限;步骤2:用户在权限范围内选择仿真实验,并向实验平台请求开启仿真实验环境,实验品平台接受请求后,通过API请求Kubernetes;步骤3:Kubernetes接收请求后,会校验请求是否正确...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。