河南医学高等专科学校:K8S云平台应用
来源:本站 作者:王传中 霍振昂 河南医学高等专科学校 发表于:2023.12.29 345浏览
文/王传中 河南医学高等专科学校CIO、党委副书记
霍振昂 河南医学高等专科学校现代教育技术中心主任
摘 要:河南医学高等专科学校K8S(Kubernetes,开源容器集群管理系统)云平台是基于Kubernetes开源系统,由学校基于“应用为王、创新赋能、需求牵引、系统推动”的信息化发展理念,自主部署搭建的学校数据中心云服务平台。该平台在推动学校数字转型、智能升级、融合创新和现代化治理等方面,发挥了重要作用。本文从平台搭建、运维管理、应用场景等方面进行介绍。
关键词:云平台;容器技术;Docker(开源的应用容器引擎);混合云;自动化部署;自动伸缩/扩展
一、建设背景
长期以来,河南医学高等专科学校(以下简称“学校”)在教学、科研和运行管理等方面积累了大量业务数据,并建立了基于虚拟化的传统数据中心和业务服务平台,取得了显著成效。然而,学校仍然面临着多方面的困境。其中一个突出问题是缺乏统一的数据中心资源调度管理平台,具体表现为:
在业务层面上,学校存在传统的数据中心资源建设各自为阵、“烟囱式”建设的问题,导致了重复建设以及人力和财力投入的巨大浪费。另外,传统的数据中心资源建设方式无法统一安全防护资源,同时安全防护能力也存在欠缺。此外,运维工作缺乏统一化,难以快速、低成本地响应业务需求。再者传统数据中心存在项目建设流程缓慢、周期长以及效率低下的问题。
在技术层面上,传统数据中心服务器虚拟化技术将一台物理机硬件资源虚拟成多台可以独立运行的逻辑服务器资源,并在每台逻辑服务器上部署一个操作系统,最后在这些虚拟机操作系统上运行相应的应用程序。然而,应用与资源绑定,导致许多资源在大部分时间内未能充分利用,资源利用率较低。此外,传统物理机的安装、配置和维护过程复杂,业务部署缓慢,迁移不便。
通过应用K8S(Kubernetes,开源容器集群管理系统)云平台技术,可以有效解决上述问题,提高资源利用效率,降低建设和运维成本,实现更加灵活高效的数据中心管理。
二、部署方案
1.K8S云平台搭建技术基础
云计算是传统计算机技术和网络技术发展融合的产物,包括网格计算、分布式计算、并行计算、效用计算、网络存储、虚拟化、负载均衡、热备份冗余等。而Kubernetes是由Google于2014年发起的开源容器集群管理系统,是目前较为流行且前沿的云平台搭建技术。
Docker(开源的应用容器引擎)容器技术的发展,为信息化业务系统的部署找到了传统虚拟技术的替代方案。通过使用Docker构建Kubernetes容器集群管理系统,可以实现容器集群的自动化部署、自动扩缩容和维护等功能。
Kubernetes能够方便地管理跨机器运行容器化的应用,是Docker分布式系统的解决方案。作为一个以容器为中心的基础架构,Kubernetes可以在物理集群或虚拟机集群上调度和运行容器,提供容器自动部署、扩展和管理的开源平台。它满足了应用程序在生产环境中的一些通用需求,包括应用实例副本、水平自动扩展、命名与发现、负载均衡、滚动升级、资源监控等功能。
2.学校K8S云平台部署方案
学校K8S云平台部署采取分步实施的方式,基于Kubeadm(管理集群生命周期的重要工具)方法部署了V1.17.4版本的集群,并成功配置了Dashboard Web(可视化仪表盘)页面,实现了对Kubernetes资源的可视化监控和管理。具体部署步骤如下:
(1)准备环境:在集群服务器节点上安装支持容器运行的Ubuntu18.04系统。确保节点之间网络互通,并具备访问互联网权限。
(2)关闭防火墙和交换分区:确保防火墙已关闭,并禁用交换分区,以确保Kubernetes正常运行。
(3)安装Docker:在每个节点上安装Docker引擎。
(4)在每个Node节点上安装Kubernetes工具,包括kubeadm、kubelet和kubectl。
(5)初始化Master节点。在部署节点上运行kubeadm init命令,该命令将初始化Master节点,生成加密配置文件和证书。
(6)设置kubectl:在Master节点上设置kubectl配置,使其能够连接到Kubernetes集群。
(7)加入工作节点:在每个工作节点上运行之前保存的kubeadm join命令,并使用Master节点初始化时生成的token和地址加入集群。
(8)安装部署网络插件,以确保POD(模块化容器)之间的通信。
(9)配置存储卷插件,以便在集群中做好持久化存储。
(10)部署Dashboard Web页面。在K8S-master上操作获取Dashboard的recommended.yaml,修改配置后启动Dashboard,实现对集群资源的可视化监控和管理。
三、平台应用
我校K8S云平台于2018年启动建设,目前已完成平台搭建、应用测试、应用迁移、混合云部署以及LoadBalancer(负载均衡器)升级等工作。该平台成功地运行了学校所有自主搭建和开发的应用,包括统一身份认证、网盘系统、邮件系统和VPN等,同时也运行了学校采购的大部分第三方应用系统,如教务系统、人事系统、直播录播系统、易表通系统、GIS系统、实验室安全管理、招生分析系统和资产采购管理系统等。这些应用在学校的各个场景中得到了广泛的应用。目前,该平台拥有957G的内存资源、352个核心的CPU资源和66.27T的存储资源。当前使用资源情况如图1所示。
图1 学校K8S云平台Dashboard
平台自部署以来,成功解决了学校传统数据中心面临的各种难题,包括应用系统服务器环境、版本、服务器资源、服务容灾恢复和服务资源监控等方面的部署问题。通过实现自动化容器的部署和复制,平台能够随时扩展或收缩容器规模,并将容器组织成组,以及提供容器间的负载均衡。此外,平台还能轻松升级应用程序容器的新版本,提供容器的弹性等功能。
在用户体验方面,以教务系统为例,教务系统共使用包括数据库、负载均衡等6个POD(模块化容器)。自部署上线以来,系统自动运维,平台负责负载均衡、容灾备份、滚动升级、计算、存储、网络等资源自动调度。系统运行流畅,不仅节约了大量硬件资源,还降低了运维成本。用户体验得到显著提升。
图2 教务系统运行用POD
再以学校GIS系统为例,目前共使用3个POD,其中包括一个流媒体节点。学校可在校园地图上实时调用监看校内所有安防摄像头影像。
图3 学校GIS系统
图4 GIS系统运行的资源实时监控
四、K8S云平台部署建设的特色优势与成效创新
1.K8S云平台部署建设的特色优势
学校搭建应用K8S云平台的特色优势主要有以下几点。
弹性扩展:平台可以根据应用负载自动进行水平扩展和收缩,根据需要自动添加或移除容器实例,以满足应用程序的需求。而传统虚拟化平台需要手动进行调整。
自动容错和自我修复:平台具有自动监控和管理容器的能力。当容器失败时,平台可以自动重启容器实例,从而实现高可用性。而传统虚拟化平台通常需要手动修复故障。
简化部署和管理:平台提供了丰富的资源管理和调度功能,使得应用程序的部署和管理变得更加简单和灵活。而传统虚拟化平台需要手动进行配置和管理。
容器隔离性:平台使用容器技术来隔离应用程序,每个应用程序运行在独立的容器中,互不干扰。传统虚拟化平台通常使用虚拟机来隔离应用程序,而虚拟机的启动和管理比容器更加重量级。
资源利用率高:平台可以根据应用程序的需求进行动态调整,通过合理地分配和管理容器资源,以提高资源利用率。传统虚拟化平台通常需要静态分配资源,难以实现高效的资源利用。
2.建设成效
学校自搭建K8S云平台以来,成功整合了各个部门和业务系统原有及新购的服务器硬件资源,将其有机纳入云平台。同时,巧妙地融合了公有云和私有云,从学校整体层面实现了智慧校园服务器计算资源的硬件一体化、部署环境的统一化以及管理运维的整体一体化。这一举措有效地打破了原有信息化建设中各自为战、硬件孤岛等现象,使得学校能更加协同有序地利用各项资源。同时,学校还建立了完备的灾备体系,实现信息系统从分散向集中共享的转变,为整个学校的信息化数据中心和各类应用建设提供IaaS(Infrastructure as a Service,基础设施即服务)基础平台,为学校迈向智慧云校园提供了坚实的基础保障,为未来发展奠定了可靠的基石。
3.创新点
一是实现技术创新,用混合云的方式,将学校IDC(Internet Data Center,互联网数据中心)与运营商提供的云平台部署为K8S集群,实现了公有云和私有云服务的交叉调用。公有云资源可以根据业务请求的峰谷值进行弹性伸缩,更灵活地满足业务需求。通过使用DTS(Data Transmission Service,数据传输服务)实现IDC与公有云数据库的单向同步,将公有云数据库作为混合云场景下的冗余和灾备,单向同步数据灾备通过DTS的方式提升了学校IDC机房数据库的高可用性。
二是实现双数据中心异地容灾备份。学校在2022年扩容了数据中心,并将新扩容的数据中心战略性地部署在学校临床教学综合楼的新建副中心机房。通过将集群服务器一分为二,实行双Master(主盘)运行,学校实现了资源共享和互为冗余灾备。这种布局达到了双中心的目标,有效实现了校内异地灾备,为学校的信息技术体系提供了更加坚实和可靠的支持。