服务热线:

13928851055

KAIYUN科技 | 大数据与人工智能 基础软件领导者

赋能数据未来,引领AI与大数据创新

KAIYUN(中国大陆)官方网站-创造最伟大的开云

行业新闻

基于K8S的容器化部署架构说明

作者:小编 点击: 发布时间:2026-09-19 17:08

  

基于K8S的容器化部署架构说明(图1)

  随着IaaS、PaaS、SaaS等云计算领域的相关体系和服务不断成熟,很多企业都开始推动信息化上云,而基于云平台、容器化的软件部署方式也逐渐成为很多厂商主推的部署方式,通过云平台的模式,可以大大提升软件管理维护的水平,加快信息化建设的速度。数通畅联作为一家致力于综合应用集成、数据治理分析的软件企业,在很早就开始探索云平台的模式,完成了软件平台的云平台部署方式,并开发了。通过不断在项目中进行应用和完善,目前已经形成了一套完整的云平台部署架构体系。

  通过产品的迭代优化以及在实际项目中的应用,目前已经形成了以K8S为核心,结合docker、keepalived、nginx、nfs等组件的一套高可用部署架构,满足产品运行要求的同时,提供容错运行机制,避免运行环境的单点故障,提高运行稳定性。

  整体部署架构以K8S为核心,通过搭建高可用的K8S集群实现容器的集中管理,将各个产品以及Redis等组件以容器的方式部署在K8S集群中,并通过UMC云管理平台进行K8S集群以及相关容器的管理。

  2.其中docker作为容器引擎,在系统层面进行容器的创建、启停、销毁等操作,而K8S作为容器管理系统,通过容器编排实现集中化管理;

  3.对于服务器节点,3台master主要作为K8S的管理节点,对集群进行调度管理;worker节点作为真正的工作节点,运行IDM、MDM、ESB等产品容器;

  4.一般而言,K8S 的核心组件大部分部署在master节点,用于完成集群的管理,并且所有核心组件都为多节点,从而保证K8S集群的高可用。

  1.产品访问主要通过Nginx代理的方式访问,根据实际需要,可以配置内网Nginx和外网Nginx双重代理进行外网或域名访问,也可以只配置内部Nginx进行内网访问;

  构建基于iptables的路由表,基于代理的方式将访问路由指向K8S集群内部的容器,从而实现容器内产品的访问;

  4.K8S集群在进行容器管理时,会通过ApiServer组件将容器内部的相关内容发布成API,Ingress等相关组件会通过调用这些API实现容器内部的访问。

  1.UMC对于K8S集群的管理包括K8S集群、Ingress、镜像库、产品容器等;

  2.UMC在进行管理时,主要通过调用命令的方式实现K8S集群的管理与操作;

  3.在UMC进行集群、Ingress、容器等操作时,在页面中会显示相关的操作命令,可以通过复制的方式复制命令到服务器执行查看。

  整个部署架构以K8S为核心,但为了保证高可用的集群需要,核心组件除了docker和K8S内部组件外,也包括了haproxy、keepalved、nfs、Redis等内容。

  针对docker、K8S、haproxy、keepalved、nfs、Redis以及umc产品,在部署和维护的过程中,涉及大量的配置文件,在管理的过程中需要注意各文件的配置方式。

  (2)以上文件在K8S集群部署时自动生成,除绑定的IP地址外,其他信息未通用信息;

  (3)以上配置绑定的IP为服务器的真实IP,即创建虚拟机时绑定在网卡上的IP地址。

  (1)以上文件为K8S集群初始化创建时的配置文件,主要用于指定K8S相关的配置信息;

  (4)注意在进行K8S集群初始化前,需要确认kubeadm-config.yaml文件的IP和端口,高可用环境:IP为K8S集群的虚拟IP,端口为16443,非高可用:IP为master服务器IP,端口6443。

  (1)以上全部文件均为K8S集群的证书和密钥文件,这些文件K8S集群初始化的时候生成;

  (2)在没有出现K8S集群证书过期的情况下,这些文档都需要修改,如果出现K8S集群证书过期,需要将这些文件全部备份删除,之后全部重新生成;

  3.权限:rw(读写访问),no_root_squas(root用户具有根目录的完全管理访问权限);

  1.hotweb.properties:数据库配置文件,包括数据库连接信息,以及Redis集群(外部Redis集群)连接信息;

  3.context.xml:UMC产品配置文件,集群模式下需要指定Redis集群(外部Redis集群),参考配置:

  主要针对UMC、平台产品以及Redis组件等相关内容的汇总,包括产品相关的架构体系,通过UMC平台进行产品管理维护的方式等。

  1.高可用的UMC采用双节点部署,一般部署在K8S集群的worker1和worker2节点上;

  2.UMC采用传统的部署,即直接将安装介质上传到服务器,然后在服务器上进行解压启动运行;

  3.由于UMC产品运行需要依赖Redis和java环境,所以需要部署在服务器上部署Redis和JDK;

  1.产品容器通过UMC统一进行管理维护,包括镜像上传、容器启动、容器重启,配置修改、补丁替换等;

  2.一般按照实际情况,UMC会部署开发、测试、发布、生产等多个环境,其中开发环境一般是单节点,即一个产品一个容器(单机模式),测试、发布一般为集群模式(2个以上容器),具体可以根据服务器资源和容器数限制进行调整,但生产环境一定为集群模式(2个以上容器);

  3.多环境管理,每个环境使用不同的数据库和配置文件,保证产品独立访问,同时不同环境可以进行配置文件等资源的同步:

  1.Redis容器通过UMC统一进行管理维护,包括镜像上传、容器启动、容器重启等;

  2.按照实际需要,Redis容器支持单机和集群两种模式,单机模式为一个容器,集群模式为多个容器(一般为6个);

  3.Redis容器部署有两种方式,一是在产品上部署Redis容器,一种是在环境上部署Redis,两种部署方式产生的连接地址不同,但在使用上没有区别;

  高可用机制是整个部署架构中非常重要的内容,是保证产品和集群稳定运行的重要依据,在集群以及产品运行过程中,高可用机制的存在能保证即使整个集群出现单点故障,也能保证产品的稳定运行,降低对生产业务的影响。

  1.虚拟IP主要是为了保证K8S集群的高可用,所以只有高可用环境下需要配置虚拟IP,非高可用环境只需要使用服务器IP即可,不需要虚拟IP;

  2.高可用环境的虚拟IP有两个,一个是部署在master1和master2上,主要为了保证K8S集群的高可用,通过一组keepalived实现虚拟IP漂移;另一个部署在worker1和worker2上,主要为了保证UMC和Nginx的高可用,即产品平台访问的高可用,也是通过一组keepalived(和K8S的不是同一组)实现虚拟IP漂移。

  1.该虚拟IP主要是主持K8S集群内部的交互,K8S容器以及组件通过虚拟IP访问K8S的apiserver,从而实现内部调用,探针检查等机制;

  1.该虚拟IP主要是支持外部对UMC、IDM、MDM、ESB等产品的外部访问;

  3.在worker1和worker2节点分别部署UMC和Nginx,Nginx通过反向代理将K8S的产品容器地址代理成虚拟IP的形式,便于外部访问,同时在Nginx代理时配置负载均衡,减小容器的压力;

  4.UMC产品也是通过Nginx进行代理,形成虚拟IP的访问地址,再通过Nginx配置成负载均衡模式,同时worker1和worker2的多节点部署,也能保证UMC和产品访问的高可用。

  DRBD包括一个活动节点,一个备用节点,当活动节点接收到数据后发往内核的数据通路,DRBD在数据通路中检查数据,当发现接收到的数据是发往到自己管理的存储位置,就复制另一份,一份存储到本机的DRBD存储设备,另一份就发给TCP/IP协议栈,通过网卡网络传输到另一节点主机的网上TCP/IP协议栈;而另一节点运行的DRBD模块同样在数据通路上检查数据,当发现传输过来的数据时,就存储到DRBD存储设备对应的位置。

  如果活动节点宕机,备用节点可以在高可用集群中成为活动节点,当接收到数据后先存储到本地,当原主节点恢复上线时,再把宕机后的节点变动数据镜像到原节点。

  1.DRBD是一个用软件实现的、无共Kaiyun开云享的、服务器之间镜像块设备内容的存储复制解决方案,简单说DRBD是实现活动节点存储数据变动后自动复制到备用节点相应存储位置的软件;

  2.DRBD是运行在节点服务器的内核中,所以DRBD是内核模块,在Linux 2.6.33版本起开始整合进内核,如果系统内核不够,需要升级内核或者通过RPM包安装整合到内核中;

  3.DRBD包括一个活动节点,一个备用节点,同一时间,只能有一个活动节点,原则上只有活动节点能够通过文件系统进行访问,备用节点无法直接访问;

  4.DRBD需要构建在底层设备之上,然后构建出一个块设备出来,对于用户来说,一个DRBD设备,就像是一块物理磁盘,可以在DRBD设备内创建文件系统,所以在Linux上部署DRBD时,不能直接使用系统盘进行构建,必须是单独挂载的独立磁盘;

  1.在K8S部署架构中DRBD为NFS共享存储提供高可用镜像备份,再结合keepalived的高可用机制对DRBD进行自动切换;

  2.当主节点宕机后,keepalived自动进行虚拟IP漂移,keepalived的监控脚本检测到虚拟IP漂移后,发出DRBD的切换命令,将备用节点升级成主节点,继续提供存储服务;

  3.在K8S集群架构中,DRBD主要存储:产品镜像文件、产品运行日志、产品配置文件、产品补丁文件以及MDM、ESB等产品动态部署的接口、运行文件等;

  4.由于DRBD“无共享”的特点,不同节点存储设备空间是镜像,在访问也只能访问活动节点的目录和文件;

  6.因为DRBD的“无共享”,DRBD从节点可以进行文件备份,但是正常是无法直接访问的,这也就导致产品容器启动时无法从从节点的DRBD中读取配置文件,也不能生成日志文件,所以DRBD只能部署在master1和master2(一般master1和master2不部署产品容器)上。

  当前的云平台部署方式,是经过多次优化迭代以及产品完成才形成,基于当前的部署方式,不仅能保证产品运行的稳定性,对于环境日常的监控和管理也是非常便捷的,能大大提升运维的效率。

  目前云平台的部署,采用“脚本+产品”的方式进行,脚本采用ansible脚本,可以自动化的进行部署维护,提升了部署过程的效率,同时采用脚本自动运行,也避免了人为操作时由于误操作产生的一系列问题。同时结合UMC产品预置的部署功能,也降低了对部署人员的技术能力的要求,更加方便地进行环境部署运维的工作。

  由于现在K8S集群部署大部分的部署工作是在UMC平台完成,在部署过程中对UMC产品的相关功能也在不断的进行优化完善,从使用者的角度出发,提升相关功能使用的便捷性,后续云平台的部署、维护将会更加便捷和快速,有效提升工作效率。

  通过不断的使用和优化,并通过众多项目的实践,目前基于K8S的云平台部署架构已经比较稳定和成熟,并且也对部署过程不断进行优化,将原来手动部署几周提高到了一周之内就能完成一套高可用集群的部署,并且结合相关的部署资料,大部分技术人员都可以快速掌握整套部署方式,有利于后续的项目实施与推广。

  基于K8S的云平台部署方式是目前数通畅联产品和方案统一的部署模式,无论是内部POC还是实际项目,都是采用这种方式,所以对于UMC以及部署脚本要充分考虑实用性和便捷性,才能提升部署效率和效果。在架构层面将部署架构和体系不断优化,提升集群的稳定性和安全性。同时UMC产品也在不断的升级迭代,将部署过程更加简化,便于后续直接交付伙伴或客户进行使用。

  两年亏掉 1500 亿,占领全球 80% 市场:中国光伏“流血称霸”!

  然而,翻开财报,映入眼帘的却是一片触目惊心的血红:全行业在短短两年内累计亏损突破 1500 亿元,即便到了 2026 年上半年,亏损的失血线依然在延续。

  女子离奇失踪七年闺蜜称反复做噩梦梦见其埋尸地 警方经8天挖掘在河边找到尸体

  齐鲁网·闪电新闻9月19日讯 女子离奇失踪七年,闺蜜称反复做噩梦,梦见其埋尸地:“她穿了个白裙子说自己被困河边”。警方破案后,经8天挖掘在河边找到尸体。

  一尊流失海外百余年的山西天龙山石窟菩萨像,终于要回家了。国家文物局消息,当地时间9月16日、17日,国家文物局在华盛顿、纽约分别接收美国国土安全调查局、纽约曼哈顿区检察官办公室向我国返还的2批次共计64件(套)文物艺术品和古生物化石。

  上市两日暴涨1200%,沈鼓集团部分投资者遭暂停账户交易,发生了什么?

  界面新闻记者 赵阳戈9月18日晚间,上交所的一则通报让沈鼓集团(601091.SH)再次成为市场焦点。上交所表示,这只刚上市两天的新股“股票价格大幅波动,部分投资者在交易该股过程中存在影响股票交易正常秩序的异常交易行为”,已依规对相关投资者采取了暂停账户交易等自律监管措施。

  9月1日,一通报警电话打进建德市局梅城派出所。报警人是老陈,声音略显哽咽。这不是一起普通警情,背后是一位父亲满心的无奈与痛心。

  人民币升破6.70!薅4%美元定存利率羊毛的人,刚被汇率上了一课,本金亏了

标签:
相关新闻
最新产品
在线客服
联系方式

热线电话

13928851055

上班时间

周一到周五

公司电话

13928851055

二维码
在线客服