收藏 分销(赏)

基于国产云基座的私有化容器云平台构建研究.pdf

上传人:自信****多点 文档编号:2261045 上传时间:2024-05-24 格式:PDF 页数:5 大小:1.77MB
下载 相关 举报
基于国产云基座的私有化容器云平台构建研究.pdf_第1页
第1页 / 共5页
基于国产云基座的私有化容器云平台构建研究.pdf_第2页
第2页 / 共5页
基于国产云基座的私有化容器云平台构建研究.pdf_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、基于国产云基座的私有化容器云平台构建研究苏奕豪(中国铁路兰州局集团有限公司科技和信息化部,兰州730000)摘要:为解决基础设施即服务(IaaS,InfrastructureasaService)模式下资源利用率不足、高可用架构设计复杂、计算能力横向扩容难度大等问题,以国产 Linux 操作系统为云基座,构建具备多租户、高可用、可伸缩特性的私有化容器云平台。该平台在大幅度提升业务可用性和资源利用率的同时,通过私有化部署,最大程度保障企业网络安全和数据隐私。应用 Kubernetes 容器编排工具,实现了信息系统及应用的轻量级容器化部署和管理,为企业级数据中心的构建提供了技术实践路径,同时,为企

2、业存量信息系统及应用迁移上云提供了资源消耗最小化的解决方案。关键词:容器化;容器编排;资源利用率;高可用;横向扩容;弹性计算中图分类号:U29:TP39文献标识码:ADOI:10.3969/j.issn.1005-8451.2023.09.08Building of privatized container cloud platform based ondomestic cloud baseSUYihao(ScienceandTechnologyandInformationTechnology,ChinaRailwayLanzhouGroupCo.Ltd.,Lanzhou730000,Chin

3、a)Abstract:In order to solve the problems of insufficient resource utilization,complex design of high availabilityarchitecture,anddifficultyinhorizontallyexpandingcomputingcapacityintheInfrastructureasaService(IaaS)mode,this paper used a domestic Linux operating system as the cloud foundation to bui

4、ld a privatized container cloudplatformwithmultitenant,highavailability,andscalabilitycharacteristics.Theplatformgreatlyimprovedbusinessavailabilityandresourceutilization,whilealsoimprovedbusinessavailabilityandresourceutilizationbydeployingthroughprivatization,couldachievethemaximumprotectionofente

5、rprisenetworksecurityanddataprivacy.ThepaperusedtheKubernetescontainerorchestrationtooltoimplementlightweightcontainerdeploymentandmanagementofinformationsystemsandapplications,providedatechnicalpracticepathforthebuildingofenterpriseleveldatacenters.Atthesametime,itprovidedasolutionforminimizingreso

6、urceconsumptionforenterprisestockinformationsystemsandapplicationmigrationtothecloud.Keywords:containerization;container arrangement;resource utilization rate;high availability;horizontalexpansion;elasticcalculation随着云计算技术的发展,云平台已经成为企业信息基础设施的重要组成部分。云计算发展初期,以基础设施即服务(IaaS,InfrastructureasaService)模式为主

7、的虚拟化技术有效解决了硬件层的资源共享与资源隔离等问题,但其承载应用的虚拟机操作系统占用了较多的宿主机硬件资源,增加了系统及应用的运营维护(简称:运维)、管理复杂度。近年来,容器云平台凭借其轻量化、高可用、迁移便利、弹性计算等优势逐步成为助力企业发展及数字化变革的新兴技术。翁湦元等人1提出可将原业务系统进行容器化改造后迁移至云平台,以达到提高平台灵活性、稳定性,降低运维成本的目的;田源等人2为了解决乘客信息系统应用软件部署量大、部署效率低的问题,提出一种基于 Docker 容器技术的软件部署架构,为乘客信息系统的进一步云化提供了技术支撑;许孟豪等人3阐述了云边架构下的应用协同架构,研究了基于容

8、器的应用协同技术;郝晓培等人4提出了基于 Kubernetes 容器的平台即服务(PaaS,PlatformasaService)平台,将容器云技术收稿日期:2023-03-13基金项目:中国铁路兰州局集团有限公司科研项目(2022076-2)作者简介:苏奕豪,高级工程师。第32卷 第9期Vol.32 No.9信息技术Information Technology文章编号:1005-8451(2023)09-0043-05RCA2023.09 总第 318 期43与深度学习相结合,实现了平台资源隔离及动态部署。基于以上研究,本文以国产 Linux 操作系统为云基座,构建私有化容器云平台,为企业构

9、建标准化、规范化的信息基础设施提供有力支撑。1 私有化容器云平台及其构成 1.1 私有化容器云平台简介容器云平台是指基于容器化和容器编排技术,结合云原生服务框架构建的一种轻量级云平台,其核心是在操作系统层面上实现对应用程序运行环境的隔离和封装5,为应用提供开发、发布、编排、治理和运维管理的全生命周期管理能力。容器化在资源利用率、迁移便利性等方面较传统虚拟化技术有明显的优势,如图 1 所示,传统虚拟化层中的虚拟机管理程序和虚拟机操作系统都被 Docker 容器层所取代,采用容器化的部署、运行方式,进一步提高了底层硬件的资源利用率。AABBAABBDocker图1虚拟化和容器化对比示意私有化容器云

10、平台是基于企业内部网络构建的与互联网隔离的容器云平台,仅服务于企业内部信息系统和应用,依托高速的内部网络和完善的边界防护体系,具备更高的稳定性、可用性和安全性。1.2 私有化容器云平台构成1.2.1私有化容器云平台基座本文所讨论的基座是指负载私有化容器云平台运行的服务器底层硬件和操作系统,基座中的底层硬件为平台提供计算能力、存储能力和网络链接,而平台运行所依赖的服务及组件则按照节点的属性和类型按需部署在基座操作系统上。随着国家提倡核心技术自主可控,为有效降低企业构建信息基础设施的成本,综合考量实际应用场景及稳定性、兼容性等需求,本文选择基于国产Linux 内核的OpenEuler操作系统作为搭

11、建私有化容器云平台的云基座。1.2.2私有化容器云平台镜像仓库在容器云中,镜像是用于创建容器的模板和基础,所有容器化应用均基于镜像启动,因此需要搭建私有镜像仓库对镜像资源进行统一管理,以确保容器云平台在构建和运行过程中所使用的各类镜像资源安全可靠。本文采用企业级开源容器镜像仓库Harbor6,满足 Docker 镜像的存储、分发及统一管理需求,提供图形化管理界面、基于角色访问控制、镜像远程复制及日志审计等企业级镜像管理功能。2 私有化容器云平台设计私有化容器云平台作为企业的核心信息基础设施,对安全性和容灾能力均有极高的要求,因此,在坚持高可用、易扩展原则的同时,须满足多租户在应用研发、测试、运

12、维等方面的多样化需求。基于此,本文采用 Kubernetes 容器编排工具,设计并搭建私有化容器云平台的集群环境,部署了 10 台计算节点,包括 3 台 Master 节点、4 台 Node 节点、2 台Proxy 代理节点及 1 台负载 Harbor 私有镜像仓库、Openssl(cfssl)证书签发环境、离线 Yum 仓库和Yaml 资源配置仓库的 Private-store 节点。当平台运算或存储能力不足时,仅增加 Node 计算节点数量即可实现平台的快速横向扩容。私有化容器云平台总体架构如图 2 所示。2.1 Master 节点部署Master 节点是 Kubernetes 集群的管理

13、核心,负责整个集群的管理,同时也是整个容器云平台的控制中枢。云平台在 3 台 Master 节点上分别部署了 etcd分布式键值数据库及 APIServer、Controllermanager、Scheduler 等核心组件7。(1)Etcd 是一个分布式键值存储系统(数据库)8,用于存储集群配置信息和服务注册信息9。为避免 Etcd 出现单点故障,在测试环境中采用了集群方式部署,共安装了 3 台 Etcd 节点组建集群,最多可容忍 2 台 Etcd 节点同时故障。(2)APIServer 提供了对集群中各类资源对象(如Pod、Deployment、Daemonset、Service、Ingr

14、ess、Configmap 等)的增、删、改、查操作,是整个集群信息技术2023年9月RCA442023.09 总第 318 期的管理入口。(3)ControllerManager(简称:CM)是集群内部的管理控制中心,负责集群内所有资源的动态管理10,当集群中某一台 Node 节点发生故障时,CM会及时发现故障并启动自动化修复流程,确保集群始终处于预期的工作状态11。(4)Scheduler 主要负责整个集群中的资源调度管理,它按照特定的算法及策略,将 Pod(Kubernetes中最小的管理单元,一个 Pod 可以封装一个容器或多个容器12)调度到最优或最适合的 Node 节点上,从而使集

15、群内的资源分配更加合理、资源利用更加充分。2.2 Node 节点部署Node 节点是集群中的工作节点,提供了 Pod 运行的基础环境,支撑着集群中运行容器的全生命周期管理。云平台在 4 台 Node 节点上分别部署了Kubelet 组件、Kube-proxy 组件及 Docker 引擎。(1)Kubelet 组件的主要功能是定期从 APIServer 接收新的或变更的 Pod 定义,确保 Pod 及其容器在期望的状态下运行,并实时向 APIServer 报送采集到的相关信息。(2)Kube-proxy 是 Pod 的 TCP/UDP 代理,负责转发从 Service 到后端多个 Pod 实例的

16、访问流量,引入IPVS(IPVirtualServer)模式,实现了在Kubernetes集群中负载更小、扩展性更高、性能更强的虚拟转发网络。(3)Docker 引擎是支撑容器运行的基础,主要包含 Docker 客户端(DockerClient)及 Docker守护进程(Daemon、Containerd、Runc),各组件协同负责容器的创建和管理。2.3 其他计算节点部署(1)2 台 Proxy 节点作为平台的入口,配置为高可用集群,分别部署 DNS 和 Nginx。其中,DNS负责解析 Host 主机域和 Kubernetes 服务域;Nginx提供反向代理。4 层反向代理指向 3 台 A

17、PIServer,实现集群核心组件的高可用;7 层反向代理用于向外暴露 Kubernetes 内部服务。(2)1 台 Private-store 节点同时部署 Harbor 私有镜像仓库、Openssl 及 cfssl 证书签发环境、离线Yum 仓库和 Yaml 资源配置仓库。2.4 集群核心组件部署为构建完善的容器云平台管理及运维体系,在部署集群规划的节点和基础组件的基础上,还须安装部分功能性组件,用于承担域名解析、资源通信、服务发现、图形化管理及监控等任务。为确保组件具备高可用性,本文以容器化集群方式进行部署。API server组件ControllerManager组件Scheduler

18、组件Etcd分布式键值数据库keepalived高可用组件openssl证书签发环境cfssl证书签发环境yaml资源配置仓库Harbor私有镜像仓库组件Etcd分布式键值数据库组件Etcd分布式键值数据库7层反向代理 用于向外暴露K8S内部服务 4层反向代理 指向三台API server,实现 HA7层反向代理 用于向外暴露K8S内部服务Proxy-1节点Proxy-2节点Master-3节点Master-2节点 4层反向代理 指向三台API server,实现HATraefik组件DNS 解析host主机域和K8S服务域 DNS 解析host主机域和K8S服务域Dashboard组件Cor

19、eDNS组件Kubelet 组件Kube-proxy组件Node-1节点Kubelet 组件Kube-proxy组件Node-2节点Kubelet 组件Kube-proxy组件Node-3节点Kubelet 组件Kube-proxy组件Node-4节点Flannel网络组件Flannel网络组件Flannel网络组件计算能力可横向扩展计算能力可横向扩展PodPodPodPodPodPodPodPodPodPodPodPodPodPodPodPodYum私有仓库Master集群Private-store节点Master-1节点Docker-ce引擎Docker-ce引擎Docker-ce引擎Co

20、ntrollerManager组件Scheduler组件ControllerManager组件Scheduler组件Docker-ce引擎API serverAPI server图2私有化容器云平台总体架构第32卷 第9期苏奕豪:基于国产云基座的私有化容器云平台构建研究信息技术RCA2023.09 总第 318 期45(1)域 名 解 析 组 件 采 用 CoreDNS 作 为Kubernetes 集群的核心功能组件之一,主要承担服务发现配置中心的职责,负责对集群内创建的 Service和 Pod 自动生成对应的 DNS 记录。(2)资源通信组件采用符合 CNI(ContainerNetwor

21、kInterface)接口规范的 Flannel,提供了 Pod间通讯的标准化网络解决方案。通过为每个 Pod 分配独立 IP 地址,并将数据包封装在独立网络(覆盖网络OverlayNetwork)中进行转发,能够有效解决Pod 资源跨域、跨节点的通信问题。(3)Traefik 组件承担了平台内服务自发现的功能,同时,实时监测 Service 自动更新路由规则,实现更加便捷高效的服务发布。根据预先定义的逻辑规则对外部请求进行拦截,支持 HTTP 反向代理或负载均衡等不同的工作模式。(4)Dashboard 组件是一个基于 Web 图形化界面的集群管理用户接口,用于部署容器化应用及服务,同时可监

22、控集群状态、执行故障排查及管理集群资源13,配合 Metrics-Server 组件可实现对集群核心状态的聚合可视化监控。3 私有化容器云平台关键技术 3.1 Node 节点证书自签机制由于 Master 节点中的 APIServer 组件启用了TLS 认证,当 Node 节点中的 Kubelet 和 Kube-proxy组件与 APIServer 进行通信时,必须使用 CA 认证中心签发的有效证书才能建立互信通道。因此当平台需要扩容时,通常需要手动为新加入集群的 Node 节点签署和颁发证书,在带来较大工作量的同时会增加集群扩展的复杂度。为了简化集群扩容工作流程,本文采用 TLSBootst

23、raping 机制来实现客户端证书的自动颁发,证书自签流程如图 3 所示。当新加入集群的 Node 节点中的 kubelet 组件在启动时会加载 TLSBootstraping 的 Kubeconfig 认证配置文件,并以一个较低的用户权限向核心组件 APIServer 申请证书,当认证配置信息中的 token 加密数据 和 权 限 验 证 通 过 后,会 创 建 证 书 签 名 请 求(CSR,CertificateSigningRequest)并自动完成证书的签署和颁发。3.2 分布式文件存储传统容器云平台通常使用网络文件系统(NFS,Network File System)+持 久 存

24、储 卷 声 名(PVC,PersistentVolumeClaim)+持久存储卷(PV,PersistentVolume)的存储资源配置方案,但由于 NFS 共享存储安全性较低且存在单点故障隐患,因此本文引入了 Ceph 分布式文件存储系统,利用多台存储服务器有效分担存储负荷,不仅可以提高系统的可靠性、可用性和存取效率,还能够有效将硬件设备引入的不稳定因素降到最低。Ceph 在存储数据时能够充分且均衡地利用每个计算节点的存储能力,同时,提供 可 供 集 群 选 择 的 块 存 储(RBD,Rados BlockDevice)、对象存储(RGW,RadosGateWay)及文件系统存储(ceph

25、FS,cephFleSorage)等服务14。ceph 在Kubernetes集群中的应用模式如图 4 所示,利用集群中 Node 节点的磁盘空间构建一个高性能、高可用、易拓展的分布式存储集群,为私有化容器云平台提供可负载多种业务的、安全可靠的数据存储服务。bootstraping kubeconfigCSRtokenApiServerkubelet图3TLSbootstraping 证书自签流程kubernetes集群PVPVPVPVPVPVCPVCNode节点磁盘组建ceph集群 图4ceph 在 Kubernetes 集群中的应用模式信息技术2023年9月RCA462023.09 总第

26、318 期 4 应用方向及风险应对策略 4.1 应用方向本文构建的私有化容器云平台具备高性能、高可用、易拓展等特性及较高的安全性,可为构建企业级数据中心提供全新的云计算参考模型,同时为企业内部存量信息系统及应用迁移上云提供最小化资源消耗的解决方案,能够实现研发项目的敏捷管理、自动化测试、持续集成和持续交付,完成需求交付端到端流程的自动化,横向打通设计、研发、测试、运维等部门间的数据壁垒,助力企业提升内部协同效率和工作质量。4.2 风险及应对策略私有化容器云平台在构建过程中可能存在以下风险:(1)在容器和容器编排技术领域,相关开源技术及产品种类繁多且良莠不齐,为技术选型带来了一定的难度;(2)平

27、台采用了大量第三方开源产品及组件,社区开源软件相较于商业企业软件往往缺乏更可靠的技术支持服务,因此存在一定的供应链安全风险;(3)平台涉及网络、存储、日志、监控、安全、微服务等众多技术维度,研发、运维团队的技术储备和经验不足时将难以支撑企业在容器云平台下的应用开发和运维等需求。为尽量规避上述风险,本文提出以下应对策略:(1)在选择构建容器云平台的技术路线或产品时,应确保各产品和组件之间保持松耦合架构,方便更新和替换,尤其要强化应对供应链产品出现重大安全漏洞及供应链产品断供等极端情况下的应急处置措施;(2)对于集群中核心组件的非缺陷性版本升级需求,要保持谨慎,至少应在非生产环境或测试环境中予以充

28、分验证后再投入使用;(3)要不断强化相关技术领域的技术培训和人才培养工作,为企业全面应用容器化云平台提供强有力的技术支撑。5 结束语本 文 以 国 产 开 源 Linux 系 统 为 云 基 座,以Kubernetes+Docker 构建私有化容器云平台,为企业构建标准化、规范化的信息基础设施提供了研究方向,同时也为企业提升开发运维效率、优化信息资源配置提供了新的解决方案。作为能够承载企业级应用需求的私有化容器云平台,如何在平台中提供通用的、基础的且具有共性需求的技术、数据及资源支撑服务,将是平台向标准化、成熟化演进的重要技术实践路径。未来将重点研究如何通过构建技术中台来逐步完善云平台基础设施

29、,有效将技术能力与业务能力进行分离,通过标准应用程序接口实现快速集成,以标准化、产品化的方式为集群应用提供技术支撑。参考文献翁湦元,单杏花,阎志远,等.基于Kubernetes的容器云平台设计与实践J.铁路计算机应用,2019,28(12):49-53.1田源,李樊,汪晓臣,等.Docker技术在乘客信息系统部署中的应用J.铁路计算机应用,2019,28(5):69-72.2许孟豪,孙美,林静,等.基于云边架构的容器应用协同技术研究J.铁路计算机应用,2023,32(4):7-10.3郝晓培,单杏花,李永,等.基于Kubernetes的铁路客运营销深度学习平台的设计与实现J.铁路计算机应用,2

30、021,30(1):57-61.4李俊东.图片自动清洗标注平台的设计与实现D.北京:北京交通大学,2020.5张春辉.基于Kubernetes的高可用容器云的设计与实现D.成都:电子科技大学,2021.6刘鑫.面向智慧消防的物联网云平台系统设计D.杭州:浙江大学,2020.7朱叶.基于Kubernetes的注塑成型装备大数据采集和存储系统研究与设计D.广州:华南理工大学,2019.8李海飞.服务网格中的级联故障预测方法J.计算机应用与软件,2021,38(11):121-130.9李婕.面向边缘智能的资源调度策略及实验平台验证D.武汉:华中科技大学,2020.10李战.基于Docker的容器集群调度机制的设计与实现D.北京:北京邮电大学,2018.11伊成彬.基于动态阈值的容器云弹性伸缩策略D.哈尔滨:哈尔滨师范大学,2022.12朱泽宇.集群环境下分布式集成学习动态系统的研究与实现D.南京:东南大学,2021.13李姗姗.基于OpenStack的负载均衡关键技术研究D.沈阳:中国科学院大学(中国科学院沈阳计算技术研究所),2019.14责任编辑朱一第32卷 第9期苏奕豪:基于国产云基座的私有化容器云平台构建研究信息技术RCA2023.09 总第 318 期47

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服