基于Docker的跨主机容器集群自动伸缩设计与实现
发布时间:2017-04-28 09:01
本文关键词:基于Docker的跨主机容器集群自动伸缩设计与实现,由笔耕文化传播整理发布。
【摘要】:在典型的应用场景中,服务器经常会出现不可预知负载需求,在应用程序开始获得更多流量时,需要添加更多的服务器来应对额外负载,当应用程序的流量开始减少时,需要终止未充分利用的服务器。为了应对以上应用需求,云平台实现了自动伸缩服务。自动伸缩是云平台的一项关键服务,根据用户定义的多种策略(时间表、运行状态等)自动的实现IT资源扩展或收缩。该服务能够在避免IT资源过度配置的情况下保持足够的性能,同时降低管理费用。Docker是基于Linux容器(LXC)创建的一个应用容器引擎,属于操作系统层虚拟化,主要用于解决服务器应用快速构建、部署和分享的问题,能够用来实现轻量级的虚拟化。目前,云平台的自动伸缩主要是基于传统的虚拟机技术(VM),在资源利用率和启动速度以及性能上有较大的开销。本文通过研究使用Docker容器技术作为云平台的底层虚拟化技术,充分利用Docker的快速部署和高效虚拟化优势,实现基于Docker的跨主机容器集群自动伸缩系统,大大提高云平台的资源利用率,减少不必要的资源浪费,同时能够更加快速有效地应对不可预知负载需求,提供高吞吐量和低延迟的优质服务。本文的主要研究工作包括:(1)针对Docker跨主机容器集群部署存在的两个关键问题网络通信与文件共享,采用Open vSwitch虚拟交换机结合GRE隧道技术实现跨主机网络通信,采用本地镜像仓库结合NFS实现文件共享。(2)设计并实现了基于Docker的伸缩组,Haproxy作为前端负载均衡,Etcd作为配置数据库,Confd动态生成Haproxy配置脚本,实现无感知服务刷新,提高应用的容错性与可用性。(3)设计并实现了Docker集群资源监控模块,计算出伸缩组的实时资源使用率,为基于负载的自动伸缩提供触发机制。(4)利用Docker跨主机容器集群作为底层部署平台,结合Docker容器资源监控与Docker伸缩组,设计并实现了基于负载的自动伸缩系统,并对系统进行测试,验证了系统的可行性与有效性。
【关键词】:云计算 自动伸缩 Docker 跨主机集群
【学位授予单位】:西北大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP393.09
【目录】:
- 摘要4-5
- Abstract5-10
- 第一章 绪论10-16
- 1.1 研究背景及意义10-11
- 1.2 国内外研究现状11-12
- 1.3 本文的研究内容12-13
- 1.4 本文的结构安排13-16
- 第二章 相关技术介绍16-26
- 2.1 云计算16-17
- 2.1.1 云计算概述16
- 2.1.2 云计算的分类16-17
- 2.2 平台虚拟化17-18
- 2.3 Docker容器技术18-22
- 2.3.1 Docker概述18-19
- 2.3.2 Docker网络通信19-20
- 2.3.3 Docker文件系统20-21
- 2.3.4 Docker与传统虚拟化比较21-22
- 2.4 资源扩展22-24
- 2.5 本章小结24-26
- 第三章 基于Docker的跨主机容器集群设计与实现26-36
- 3.1 Docker跨主机容器集群面临的问题26-27
- 3.2 Docker跨主机容器集群网络通信设计与实现27-32
- 3.2.1 Docker网络通信分析28
- 3.2.2 跨主机容器间直接通信设计28-30
- 3.2.3 跨主机容器间网络通信实现30-32
- 3.3 Docker跨主机容器集群文件共享设计与实现32-35
- 3.3.1 Docker镜像与容器32-33
- 3.3.2 跨主机容器集群镜像共享设计33-34
- 3.3.3 跨主机容器持久化数据共享设计34-35
- 3.3.4 跨主机容器间文件共享实现35
- 3.4 本章小结35-36
- 第四章 基于Docker的容器集群自动伸缩设计与实现36-58
- 4.1 Docker集群自动伸缩系统整体设计36-40
- 4.1.1 总体架构36-37
- 4.1.2 系统功能设计37-38
- 4.1.3 自动伸缩工作原理38-40
- 4.2 资源监控模块设计40-45
- 4.2.1 Docker容器资源限制40-41
- 4.2.2 Docker容器监控设计41-42
- 4.2.3 Docker容器性能监控数据格式42-44
- 4.2.4 Docker容器性能监控生成过程44
- 4.2.5 Docker宿主机性能监控数据生成44-45
- 4.3 伸缩组设计45-51
- 4.3.1 伸缩组自动服务发现架构45-47
- 4.3.2 伸缩组自动服务发现设计47
- 4.3.3 伸缩组相关服务容器化实现47-51
- 4.4 系统设计与实现51-57
- 4.4.1 系统整体流程设计51-52
- 4.4.2 创建伸缩组流程设计与实现52-54
- 4.4.3 自动扩展流程设计与实现54-55
- 4.4.4 自动收缩流程设计与实现55-56
- 4.4.5 系统数据库设计与实现56
- 4.4.6 系统界面展示56-57
- 4.5 本章小结57-58
- 第五章 系统测试58-68
- 5.1 实验环境搭建及配置58-63
- 5.1.1 实验环境配置58-59
- 5.1.2 实验环境搭建59-63
- 5.2 测试过程63-66
- 5.2.1 伸缩组创建功能测试63-64
- 5.2.2 伸缩组自动伸缩功能测试64-66
- 5.3 自动伸缩性能分析66-67
- 5.4 本章小结67-68
- 总结与展望68-70
- 工作总结68-69
- 工作展望69-70
- 参考文献70-74
- 致谢74
【相似文献】
中国期刊全文数据库 前3条
1 刘坦;冯斌;丁嘉;;GSM远程控制的自动伸缩雨棚电路系统设计[J];科技致富向导;2013年17期
2 ;数字生活[J];电脑自做;2002年08期
3 ;[J];;年期
中国重要会议论文全文数据库 前1条
1 段国华;王峗;;刮板输送机自动伸缩机尾的理论初探[A];2007短壁机械化开采专业委员会学术研讨会论文集[C];2007年
中国重要报纸全文数据库 前4条
1 记者 周国兵;内置全自动伸缩耳机有线手机研制成功[N];中国质量报;2009年
2 本报记者 赵洪亮;攀登科技巅峰的“芯力量”[N];中国水利报;2013年
3 记者 游心;德国埃舍德高铁事故之痛[N];第一财经日报;2011年
4 编译/江鑫;人造肌肉让你变成“巨灵神”[N];北京科技报;2004年
中国硕士学位论文全文数据库 前4条
1 黄辉;无轨自动伸缩门的研制[D];南昌大学;2005年
2 吴海庆;基于AWS云计算的社交游戏平台和自动伸缩技术研究[D];复旦大学;2013年
3 肖俊;基于Docker的跨主机容器集群自动伸缩设计与实现[D];西北大学;2015年
4 宋耕;云计算平台动态资源管理研究及应用[D];河南师范大学;2014年
本文关键词:基于Docker的跨主机容器集群自动伸缩设计与实现,,由笔耕文化传播整理发布。
本文编号:332484
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/332484.html