论文总字数:28189字
摘 要
容器集群为目前互联网开发项目中非常热门的一个领域,而对其进行日常运维及监控也就成为了一个迫切的目标。Kubernetes是包含容器云全要素的管理引擎,不仅仅是个容器的编排工具,以Kubernetes为基础,可以实现以容器为中心的生态系统,也可以实现软件定义的计算。Kubernetes使用简单、便捷、易学,这让很多小公司、小团队搭建私有的容器云成为了可能。Prometheus则是一款开源监控报警系统和时序列数据库,将从Kubernetes获取硬件的监控信息。本项目基于Kubernetes集群配合Prometheus,开发外部系统来进行对容器集群的监控和管理。同时本文对于Kubernetes集群以及Prometheus的运行机理进行了详细地解析,并最终实现监控目标提供了理论基础。本文研究发现,对容器集群的监控在容器集群的日常运维中是非常关键而且有利的,不但可以保证公司业务正常运转同时也为集群规模的扩大做出了保障。
关键词:Kubernetes,Prometheus,监控
Abstract
Container clustering project is a very popular field in current Internet development projects, and its daily operation and monitoring has become an urgent goal. Kubernetes is a platform that contains most elements of managing container cloud. It is not just a container orchestration tool. Based on Kubernetes, we can implement a container-centric ecosystem and implement software-defined calculations. Prometheus is an open source monitoring and alarm system and time series database that will receive hardware monitoring information from Kubernetes. Based on the Kubernetes cluster and Prometheus, the project develops external systems for monitoring and managing container clusters. At the same time, this paper provides a theoretical basis for the detailed analysis of the Kubernetes cluster and the operating mechanism of Prometheus, and finally achieves the monitoring objectives. This paper finds that monitoring the container cluster is very important and beneficial in the daily operation and maintenance of the container cluster, which not only ensures the normal operation of the company's business, but also guarantees the expansion of the cluster size.
KEY WORDS: Kubernetes, Prometheus, monitoring
目录
摘要 I
Abstract II
第一章 绪论 1
1.1 研究背景 1
1.1.1 主流容器集群管理工具的对比 1
1.2 相关技术介绍 2
1.2.1 Kubernetes介绍 2
1.2.2 Prometheus介绍 6
1.2.3 Apache Kafka介绍 8
1.2.4 Elasticsearch介绍 9
1.3 主要研究内容 10
第二章 系统需求分析 11
2.1 系统功能性需求 12
2.2 系统非功能性需求 12
2.3 本章小结 12
第三章 系统设计 13
3.1 系统总体设计 13
3.1.1 系统架构设计 13
3.1.2 系统功能模块设计 14
3.2 系统功能设计 14
3.2.1 集群监控状态管理功能设计 14
3.2.2 监控信息展示功能设计 15
3.2.3 监控配置功能设计 15
3.2.4 数据交互功能设计 15
3.3 本章小结 15
第四章 系统实现 17
4.1 系统开发环境 17
4.2 系统部署 17
4.2.1 Prometheus在集群内部署 17
4.2.2 Prometheus的数据存储 21
4.2.3 Prometheus的远端存储 22
4.2.4 Prometheus高可用实现 23
4.3 监控指标 24
4.4 系统功能实现 26
4.4.1 集群监控状态管理功能实现 26
4.4.2 监控信息展示功能实现 27
4.4.3 监控配置功能实现 30
4.4.4 数据交互功能实现 31
4.5 本章小结 31
第五章 总结与展望 32
致谢 33
参考文献 34
绪论
研究背景
本课题来自南京市育儿网网络科技有限公司的科研项目。在企业内,主要使用Kubernetes这个用于容器集群的自动化部署、扩容以及运维的平台来进行容器集群的管理,在本项目内会配合Prometheus以及Elasticsearch系统来进行日志的获取、聚合、查询和对集群的监控。Kubernetes可以部署,调度节点和节点集群间扩展。本项目即是以Kubernetes为基础部署Prometheus工具对企业内部的容器集群系统进行自动化监控应用的开发。
2008年,当容器刚刚推出时,虚拟机是云服务提供商以及数据中心追求优化数据中心资产的首要选择,其出众的灵活性让云服务提供变得极为便利。然而虚拟机同时存在着一些无法被忽略的缺陷,比如每个虚拟机都需要模拟出完整的操作系统,物理CPU资源以及内存的占用会变得非常高。容器技术正能通过在所有镜像中共享相同的内核来解决这些缺陷,于是很快便进入主流市场。
剩余内容已隐藏,请支付后下载全文,论文总字数:28189字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;