基于容器技术的科教云平台的设计与实现之软件工程分析

论文价格:0元/篇 论文用途:仅供参考 编辑:论文网 点击次数:0
论文字数:**** 论文编号:lw202329972 日期:2023-07-22 来源:论文网
本文是一篇软件工程论文,本文 基于容器技术的科教云平台将云计算和容器相关技术融入实验室科研和团队合作的场景中,提供了大规模高可靠、弹性可扩展的计算能力以及数据安全存储和管理能力。通过对系统核心功能的测试,平台能够对外提供稳定的服务,符合预期的设计目标。

1 绪论

1.1 研究背景与意义
随着信息技术的高速发展,各行各业纷纷提出互联网+[1]的口号,开始向 IT 领域进行紧密结合,同时高校各学科领域与计算机学科的融合也愈发紧密,越来越借助信息化的管理提高其教学质量和学生学习效率[2],为了满足学生的上机需求,学院大批量地购买物理计算机以提供满足需求的计算资源,一机多系统,需要人工定期地进行维护和软件更新,特定是计算机领域相关学院,科学研究和团队项目需要性能需求较高的的硬件资源,传统的硬件设施模式存在着多种弊端:

(1)学院各实验室单独配置硬件设施,受限于场地限制,其硬件资源几乎不向外部开放,当实验室团队开发任务不多时,导致部分硬件资源闲置,整体利用率低,而开发任务繁重时,又受限于整体硬件资源的计算能力,影响团队的开发效率,资源分配不够灵活。
(2)如今市场激烈,计算机设备淘汰越来越快,需要频繁的对硬件设备进行更新换代以获取足够的性能需求,这种设备的更新换代给实验室建设带来了巨大的经济成本以及对软硬件进行部署调试的人力成本。

(3)实验室的个人设备环境不统一,并且数据管理也不方便,如果发生数据丢失,会对整个项目造成难以预估的损失。
对于实验室个人,需要快速方便地获取一套独立且满足需求的计算或者存储资源,对于团队,需要能够方便地为项目成员提供一套相同软件环境的资源,并且能方便地进行通信和数据保护。云计算能够提供大规模按需分配的计算服务,而云存储能够提供大规模数据存储和管理[4]。采用云计算的方式将实验室硬件资源与科教管理,团队管理相融合的解决方案可以突破传统实验室科研模式的限制和弊端,可以方便地管理个人科研的独占资源以及团队项目开发的共有资源,能够实现资源的合理分配和有效利用,提高科研效率和项目开发效率。
课题研究了基于容器技术和 OpenStack 云计算技术[6,7]的科教云平台的设计与实现,与传统的资源管理架构相比,能够为学院各实验团队提供一个资源高度集中,弹性分配,按需共享、高性能、高可靠、易管理、易维护的稳定科教平台。

............................

1.2 国内外研究现状
云计算[8]的概念很早就在国外提出,在 2006 年,美国亚马逊公司率先推出商业化的弹性计算云服务,随后,谷歌、雅虎等各大公司开始相继进入云计算领域,国内进入云计算领域最早的是阿里云[9],于 2009 年成立,经过近十年的发展,云计算已经为各种企业及个人提供了所需的云服务,近年来越来越多国内外高校开始尝试引入云计算技术为科研教学服务[10]。
1.2.1 国外研究现状

国外高校很早就开始研究和引入了云计算为师生的科研教育提供服务,例如IBM 公司很早就提出了虚拟计算实验室[11]的概念,目的是尝试与高校在实验室系统应用方面进行合作,到目前为止,技术应用已经较为成熟,与传统的实验教学模式相比,IBM 将云计算相关技术融合进实验教学的流程和管理之中,将高校的硬件资源虚拟化,并对实验课程课程进行封装,以服务的方式进行发布,实验参与者通过用户权限认证后可随时随地地对发布的服务进行远程访问以完成相应的实验课程[12]。此外,谷歌,微软等公司也先后推出了虚拟桌面云环境[13]帮助高校完成相应的教学管理。

随后容器技术的提出,谷歌公司最先尝试将容器技术与自身的虚拟化架构相结合,推出了一套用于高效管理容器的体系架构,并应用到虚拟桌面环境中,实现了虚拟环境的秒级启动,接着各大公司一方面积极探索容器技术,一方面考虑到虚拟机的不可代替性,开始尝试云计算与容器技术的结合,替换现有的产业结构,最大化的提高产品性能。
1.2.2 国内研究现状
国内这几年云计算发展也十分迅速,阿里,百度,腾讯,华为等公司纷纷推出自家的公有云产品,为不同需求的用户提供制定的,按需付费的高可靠云服务,还有众多企业制定私有云,对外为自己的业务需求服务,例如银行,证券,运营商,电商等各行各业。与此同时,随着中国教育事业[14]的发展,国内各地方纷纷开始教教育领域的信息化建设,国内高校以及众多教育机构、科研机构开始研究和探索与云计算的融合。
云计算可以为科研教育以及团队开发提供弹性稳定的硬件资源以及软件应用环境,极大地提高了资源的灵活分配和利用率,同时云计算背后复杂的逻辑架构对整个云平台的稳定也提出了考验,云计算平台的部署搭建、维护以及版本升级也一直成为近几年社区中热议的话题和难点,容器技术的出现开启了传统应用架构模式向微服务架构的转变,为云服务的发布和部署提供了灵活的方式,因此将云计算与容器技术的结合也成为国内这几年的研究方向。
...............................

2 云计算与容器相关技术介绍


2.1 虚拟化技术与云计算
云计算的核心是将服务器端集中提供的物理计算资源分解成小的、独立的单元去服务不同的用户,使得每个用户在共享物理资源的同时拥有着安全、可信,并且隔离的虚拟工作环境。
虚拟化[17]是云计算的底层基础,KVM[18]作为开源的虚拟化技术,有着基于 Linux内核、借助硬件辅助等特点,提供了极佳的性能,并且 OpenStack 底层对 KVM 的支持也是最好的[20],平台选择 KVM 技术作为底层的虚拟化方式。

2.1.1 OpenStack 云计算技术

OpenStack[21]作为云计算领域最具代表性的作品,核心功能是为云计算提供计算和存储能力[22]。
到目前为止,OpenStack 的最新版本为 Rocky,于 2018 年 8 月份正式发布,整合了众多组件和服务,向外提供了例如虚拟计算、存储、网络、认证、镜像管理等核心服务之外,还提供了额外可供安装的服务,例如编排服务,大数据服务,计量监控服务等等。

OpenStack 通过一组相关的服务提供一个简单,大规模可伸缩,功能丰富的基础设施即服务(IaaS)解决方案。其核心组件架构如图 2-1 所示:
Keystone 为 OpenStack 提供认证服务[23],提供了一个中央身份认证机制,实现了多种认证方式,包括简单的用户名密码凭据,以及 Token 令牌认证或者集成其他复杂的多因子系统等。

.............................

2.2 微服务与容器技术
微服务强调的是一种架构形式,整个微服务平台的功能作为基础服务的形式提供,通过服务的基本协作构成平台的基础能力[33]。而容器更多的强调是一种在操作系统级别进行虚拟化的技术,是一种可以被用来构建微服务应用的一种工具。在实际应用中,更多的是将容器和微服务架构结合起来对外提供服务,微服务架构具有的无状态的特点可以很好的弥补容器在热迁移上的问题,而容器的隔离性和快速启动部署等特点可以是微服务架构获取良好的伸缩能力和稳定性能。
科教云平台采用基于容器的微服务架构,应用 Docker 容器技术和 Kubernetes 容器管理技术,为微服务平台提供自动愈合能力和动态伸缩能力,对服务进行组件化管理。

Docker 代表的是一种轻量级的虚拟化技术,可以快速地为应用创建一个轻量级的、可移植的容器,然后在生产环境中进行部署,包括 OpenStack 集群或者其他的基础应用平台[36]。利用 Docker 可以隔离应用依赖,创建应用镜像并进行复制,允许实例简单、快速地扩展。
Kubernetes[39]是谷歌公司内部基于容器技术的大规模集群管理系统的开源版本,

其目的是为应用提供自动化部署和动态扩展等功能,为了方便地对跨数据中心的容器化应用进行管理,目前底层支持 Docker 和 Rocket 两种容器技术[40],本文采用的是 Docker 技术。图 2-3 为 Kubernetes 集群的架构。
Master 是 kubernetes 集群的控制节点,其上运行着一组关键的进程,对外提供HTTP Rest 接口,是集群控制的入口,是所有资源对象的自动化控制中心,负责资源调度和资源对象的数据保存。

.........................
3 科教云平台需求分析............11

3.1 业务概述.......................11
3.2 功能需求分析......................12
3.3 性能需求分析.......................16
4 科教云平台的设计.................18
4.1 容器化科教云平台的总体设计.........................18
4.2 IaaS 资源管理层设计 ...........................20
4.3 PaaS 应用层设计..............................29
5 平台实现与测试.................38
5.1 开发环境..................................38
5.2 IaaS 资源管理层的规划与部署 .....................39

5 平台实现与测试

5.1 开发环境
整个平台的实现分为两个部分,一部分是对资源管理层的搭建,另一部分是对Web 应用层的实现,应用层的功能实现依靠资源管理层提供的服务支持。
IaaS 资源管理层的部署工作主要包括网段的划分,硬件设施的准备,kubernetes集群的部署搭建,OpenStack 服务与 Ceph 存储系统的集成,OpenStack 服务与 Ceph服务的容器化,云服务的部署和调优等。其开发环境为物理服务器,具体硬件配置如表 5-1 所示。


..............................

6 总结与展望

6.1 总结
云计算的发展为用户提供了强大的计算能力和存储能力,极大地提高了基础资源的利用效率,而容器技术的出现开启了传统 SOA 架构向微服务架构的转变,OpenStack 作为一个庞大且负责的应用,探索 OpenStack 的微服务化,将其与容器技术的结合成为目前的研究方向。

基于容器技术的科教云平台详细论述了系统实现的背景与意义,介绍了所使用的相关技术,重点分析了 Kubernetes 容器平台、OpenStack 云平台以及 Ceph 存储平台的技术架构和原理,探索了三者之间的结合方式,容器化科教云平台将云计算和容器相关技术与高校科研教学相结合,对实验教学,团队开发等应用场景进行分析,对平台的功能需求和性能需求做了分析,划分了用户管理,资源管理以及团队管理等功能模块,接着对整个平台架构和数据库进行了设计,最后完成了资源管理层的部署以及应用层的功能实现。整个平台以 Kubernetes 容器集群为基础,构建了OpenStack 云平台环境,提出了一个稳定的云平台解决方案,利用容器集群的特性实现了 OpenStack 服务的快速部署,以及为云服务提供了强大的监控能力和自动愈合能力,并将 OpenStack 平台与 Ceph 存储系统结合,保证了系统数据存储的高可靠。经过测试,整个平台运行稳定,功能正常,能为用户弹性的提供资源并满足科研教学等需求。

容器化科教云平台将云计算提供的弹性资源管理能力运用到学校团队开发管理中,弥补现实状况下实验室团队硬件资源利用率低,资源分配不够灵活以及难于集中管理等弊端,实现了一个能满足科研和教学的云管理平台。
参考文献(略)


如果您有论文相关需求,可以通过下面的方式联系我们
客服微信:371975100
QQ 909091757 微信 371975100