工程教育软件工程论文提纲

2022-09-27

论文题目:基于Kubernetes的软件工程教育云部署平台的设计与实现

摘要:随着近几年移动互联网的普及,越来越多形式和不同领域的应用争相涌出。应用规模的增长、用户数量的增多让应用的部署需要更加关注网络、存储与机器性能,应用的扩缩容和动态调整也变得十分困难而麻烦,这使得传统的物理机与虚拟机的部署与发布模式变得十分复杂而难以维护。而随着云计算技术的发展,传统部署方式冗长而复杂的问题渐渐得以解决,微服务、Docker、Dev Ops等相关技术和概念的发展,则进一步促使了云原生概念的出现,最后以Kubernetes的诞生为代表掀起了云原生的浪潮,在这个过程中,容器部署模式逐渐诞生,容器部署平台作为云原生技术体系的基础设施服务着云原生应用。对于软件工程教育云来说,目前已经有考试系统、开发者系统、课程支持系统、能力评测系统等多个系统和服务,在云原生的大环境下,传统物理机和虚拟机的部署平台因其部署模式和语言的固定,难以满足软件工程教育云个性化的部署环境要求,应用间和服务间的通信也难以管理,为了推动软件工程教育云的云化进程,本文基于Kubernetes设计并实现了一个软件工程教育云部署平台。本文以应用为切入点,把应用作为一个能够独立提供服务的整体来调度和管理,首先通过Docker的多阶段构建的技术,分离了构建环境和运行时环境,使应用镜像的构建变得更加灵活。随后基于Nexus实现了一个镜像仓库,通过版本和时间戳的标记令应用具备了快速回滚的能力。为了解决传统容器部署平台难以区分不同环境配置的问题,本文在基于Kubernetes的Pod应用管理的基础上抽离了多项配置,让开发者能够在不更改代码仓库的情况下更改不同环境的配置,以提高应用不同环境下开发验证的效率。云原生应用的一个核心理念就是微服务,而这在本文中通过Kubernetes的Deployment、Service与Ingress等机制构建了一个云原生应用的结构框架,保证应用与服务在考试情形下的稳定性。对于软件工程教育云体系中产出的数据,本文基于Gluster FS分布式文件系统结合Kubernetes的Storage Class机制实现了应用的持久化存储,充分利用了存储资源的同时提高了数据的安全性。最后在应用部署后为了方便开发者进行应用的初始化、数据迁移和日志查看,本文基于Kubernetes的Exec Api实现了应用的Web Terminal能力。目前,该平台已经上线并运行了一年六个月时间,支撑了南京大学软件学院软件工程与计算一、软件工程与计算二以及计算机组织与结构等多项课程的教学,同时还支撑着考试系统、开发者系统、教学支持系统以及知识库等数十项应用和服务的稳定运行,服务着软件学院八十多位的开发者,支撑着线上慕课累计四万的用户和线下软件学院一千多位的本科学生,为软件工程教育云体系的应用更新迭代带来了极大的助力。

关键词:Docker;Kubernetes;云计算;GlusterFS;WebTerminal

学科专业:工程硕士(软件工程领域)(专业学位)

摘要

abstract

缩略字表

第一章 引言

1.1 项目背景

1.2 国内外相关技术研究现状与分析

1.3 论文的主要工作和组织结构

第二章 相关技术综述

2.1 容器技术

2.1.1 Docker

2.1.2 容器编排技术Kubernetes

2.1.3 容器镜像存储服务Nexus

2.1.4 多阶段构建技术Dockerfile

2.2 Web开发技术

2.2.1 Spring Boot

2.2.2 React

2.2.3 WebSocket和 WebTerminal

2.3 存储技术

2.3.1 MySQL

2.3.2 分布式文件系统GlusterFS

2.4 本章小结

第三章 基于Kubernetes的软件工程教育云部署平台的需求分析与概要设计

3.1 项目整体概述

3.2 系统的需求分析

3.2.1 应用管理模块

3.2.2 环境管理模块

3.2.3 持久卷管理模块

3.2.4 配置管理模块

3.2.5 应用部署模块

3.2.6 日志展示模块

3.2.7 实例管理模块

3.2.8 资源监控模块

3.2.9 系统的非功能性需求

3.3 系统的概要设计

3.3.1 系统的总体设计

3.3.2 系统的结构设计

3.3.3 系统的数据库设计

3.4 本章小结

第四章 基于Kubernetes的软件工程教育云部署平台的详细设计与实现

4.1 系统详细设计与实现概述

4.2 配置模块的详细设计

4.2.1 配置模块的详细设计

4.2.2 配置模块的实现

4.3 部署模块的详细设计与实现

4.3.1 部署模块的详细设计

4.3.2 部署模块的实现

4.4 实例维护模块的详细设计和实现

4.4.1 实例维护模块的详细设计

4.4.2 实例维护模块的实现

4.5 持久卷管理模块的详细设计和实现

4.5.1 持久卷管理模块的详细设计

4.5.2 持久卷管理模块的实现

4.6 资源监控模块的详细设计和实现

4.6.1 资源监控模块的详细设计

4.6.2 资源监控模块的实现

4.7 基于Kubernetes的软件工程教育云部署平台的测试

4.7.1 测试环境准备

4.7.2 功能测试描述

4.7.3 非功能测试描述

4.8 本章小结

第五章 总结与展望

5.1 总结

5.2 进一步工作展望

参考文献

致谢

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:大学生科技发明论文提纲下一篇:旅游投资决策分析论文提纲