APP下载

基于Kubernetes的企业级容器云平台设计

2019-09-25郑冰

数字技术与应用 2019年6期
关键词:云平台

郑冰

摘要:本文基于容器技術和Kubernetes的内涵、Kubernetes高可用集群的部署、基于Kubernetes的企业级容器云平台设计、最后对该平台进行功能测试与应用进行了阐述,为基于Kubernetes的企业级容器云平台设计提供一定的参考价值。

关键词:Kubernetes;企业级容器;云平台;高可用

中图分类号:TP393.09 文献标识码:A 文章编号:1007-9416(2019)06-0138-01

1 容器技术和Kubernetes的内涵

容器的英文为Container,原始的含义是集装箱。其实容器技术正是来源于集装箱运输的思想。过去海上运输货物类型很多,运输和装卸船效率低。为了提高运输效率,集装箱都诞生了。在一艘船上,无论是衣服、奶粉、甚至汽车,只要装在标准的集装箱中,船东无需关心集装箱内的货物,用标准的运输方式进行托运和装卸作业,极大提高了运输效率。正是借鉴了集装箱运输的思想,容器技术也诞生了。在此之前,部署一个应用至少先需要物理环境,然后是操作系统,之后还有各种中间件环境,最后才能部署应用,部署人员和开发人员都需要费时费力的管理。后来的虚拟化部署一定程度上解决了硬件资源的最大化利用,但并没有解决应用层面的问题,每次应用部署还是需要搭建一套依赖的应用环境。由于虚拟技术使得各自还拥有自己的OS,导致性能也并不理想。Container容器技术的诞生解决了技术领域的“集装箱运输”的问题,利用NameSpace做隔离,对应用进行打包,通过容器引擎,共享一个操作系统,达到了良好的性能指标,实现了Build Once,Run Everywhere,节省了巨大的人力成本,提高运维效率。

2 Kubernetes高可用集群的部署

首先对环境进行部署,对各个节点安装环境。Kubernetes集群中的节点的主要组成部分包括Eted服务器、应用节点以及Kubernetes API服务器。Kubernetes系统的总体结构框架图如图1所示。从图1可以看到,为了实现高可用,Eted服务和Kubernetes API服务部署在相同节。在实际的操作系统中,一般可将Eted服务和Kubernetes API服务安装在不同节点,这样可以保证更好地隔离硬件,但是这样也存在一个缺点就是使整个系统的维护成本很高,因此在这里我们为了节约成本,将Eted 服务和Kubernetes API服务部署在三个一样节点上。系统中各个节点的运行环境操作系统均是CentOS7.4。

3 基于Kubernetes的企业级容器云平台设计

3.1 容器云平台设计方向

在进行企业容器平台的设计时,需要明设计方向。首先,需要保证Kubernetes容器平台与IaaS层的集成。其次是需要平台需要一定的弹性和可伸缩性,不管任何一个云平台,平台内资源的弹性伸缩对资源的利用率都有很大的影响,所以解决资源云平台中资源的弹性伸缩显得十分重要。Kubernetes容器云平台由于目前科学技术的限制,目前还没有形成一个完整的资源可伸缩体系来适用于Kubernetes平台。因此我们需要构件一个容器云以保证资源的弹性伸缩体系系统能够完全地使该系统的功能被广大使用者使用,最后容器云的平台的设计目标是需要保证多集群跨可用区的部署以及管理,减少容器云单数据中心部署可能会增加的单点故障风险。

3.2 整体系统框架设计

云平台整体系统平台设计主要包括基础设施集成模块、多集群可用管理模块、容器云平台资源可扩展模块三部分。基础设施集成模块主要是负责实现Kubernetes系统有关的IaaS层相关服务的功能,Kubernetes系统主要的功能包括集群节点管理、整个云容器平台的数据存储、云平台服务外部负载均衡性。

3.3 云控制管理器设计与实现

云控制管理器主要可以实现两方面的功能即集群节点管理和服务、服务云容器外部负载的均衡装置。在云容器中云集群节点管理和服务外部负载均衡器这两个方面的功能是相互独立的,所以在实际的云容器控制管理过程中我们需要使用两个子控制器将其进行分开管理。

3.4 容器存储模块设计与实现

Kubernetes数据卷存储机制是将Volume像pod一样设计成具有一个完整的生命周期,包括从最开始的创建以及后面的挂载、删除等,云容器的存储系统都能够通过挂载技术挂载进云容器以便整个云容器系统能够方便快捷的使用。很多的Kubernetes云容器平台系统支持实现多种后端存储方案,能够存储很多种类的动态信息。

4 功能测试与应用

可以利用SysBench工具进行的相关研究和测试。在实践中,根据企业建设容器云服务平台的前后对比可以发现,Kubernetes和Docker容器云平台相对于传统的Docker架构模式,其容器服务实现了高冗余的群集化管理模式,Kubernetes容器平台提供了更高效的弹性收缩性能以及一套易于对接服务的RESTfull API。Kubernetes容器云服务平台的管理、伸缩性以及整个容器平台的性能提到了很大的提升,说明采用Kubernetes的企业级容器服务平台是可行的。

5 结语

随着微服务技术的不断进步,基于Kubernetes容器的企业级云平台的应用将会越来越广泛,我们针对Kubernetes操作系统的高可用集群部署技术做了详细的研究,将复杂的Kubernetes集群部署进行了设计的流程化,通过对该系统进行性能测试,可以发现该云平台设计是合理的,为最新的Kubernetes容器企业级云平台提供了一定的参考价值。

参考文献

[1] 盛乐标,周庆林,游伟倩,等.Kubernetes高可用集群的部署实践[J].电脑知识与技术,2018,14(26):40-43.

[2] 陈金光.基于阿里云的Kubernetes容器云平台的设计与实现[D].浙江大学,2018.

Design of Enterprise Container Cloud Platform Based on Kubernetes

ZHENG Bing

(COSCO Maritime Container Transportation Co., Ltd., Shanghai 200090)

Abstract:Based on the connotation of container technology and Kubernetes, the deployment of Kubernetes high-availability cluster, the design of enterprise container cloud platform based on Kubernetes, and the functional testing and application of the platform are described in this paper, which provides some reference value for the design of enterprise container cloud platform based on Kubernetes.

Key words:Kubernetes;enterprise containers;cloud platform;high availability

猜你喜欢

云平台
“云平台+大数据”在高校档案管理中的应用研究
企业云平台建设研究