金融行业 IT 实践|某信托公司:从虚拟化到容器平台的 VMware 替代与双活建设实践

随着“VMware 替代” 在金融行业的快速推进,不少金融用户的替代进程已逐渐从存储、虚拟化过渡到容器平台层面,实现更为全面的 VMware 国产化替代与架构升级。其中,某信托用户在使用 SmartX 超融合(采用 VMware 虚拟化和 Tanzu 容器平台)实现 IT 基础架构现代化升级后,进一步验证了 SMTX Kubernetes 服务(SKS)对 VMware Tanzu Kubernetes Grid(TKG)的替代能力,并以SmartX 原生虚拟化 ELF 和 SKS 实现了从虚拟化到容器平台的全面 VMware 替代与双活集群建设,为未来进一步的信创转型打下坚实基础。

案例亮点

  • 使用 SmartX ELF 虚拟化和 SKS 同步替换 VMware 虚拟化和 TKG,实现基础设施软件全面国产化替代与架构升级,达成集团自主可控的发展目标。

  • 验证了 SKS 在功能与业务场景下对 TKG 的替代能力,数十项测试全部通过。

  • SKS 可与 Rancher 紧密集成,无需改动现有容器管理平台与相关组件,符合用户原有运维使用习惯,降低学习与改造成本。

  • 双活数据中心实现业务容灾,提高业务连续性并满足监管要求。

下载《基于超融合运行 Kubernetes:场景、功能和优势》白皮书,了解更多 SKS 功能特性与适用场景。 

实践背景

某信托公司是一家具备央企背景的非银行金融机构,聚焦农业金融和乡村振兴领域,通过不断创新金融模式,逐步发展为行业内先进企业。公司为了满足业务灵活发展需求,通过微服务及云原生方式构建了业务应用,在前期建设方案中使用 SmartX 超融合集群(采用VMware vSphere 虚拟化)部署 VMware TKG,承载容器化开发测试和生产工作。由于 VMware 国产化替代等需求不断凸显,用户需要对现有 IT 基础架构及容器平台进一步改造:

  • VMware 销售模式的变化:VMware 停止售卖永久软件授权及其维保服务,转向全面订阅模式,且不再提供续保服务,为用户的使用成本和业务稳定性带来较大挑战。

  • 满足监管需求:国家对金融和数据安全的监管日益严格,公司必须确保 IT 系统符合最新的合规要求,包括数据安全、业务连续性以及国产化相关政策的落实。

  • 国产化探索逐步深入:公司需要在 IT 基础架构层面(包括虚拟化和容器平台软件)逐渐过渡到国产技术方案,以降低对国外技术的依赖,确保核心技术自主可控。

基于用户侧 SmartX 超融合集群多年的稳定运行表现,以及 SKS 的持续迭代升级,用户开始评估使用 SKS 替代 VMware Tanzu 的可行性。经过与用户多次深入交流,全面梳理现有业务架构,我们发现此次“替代”不仅仅是技术上的变更,还涉及业务连续性、系统稳定性以及未来扩展性的全方位升级。具体需求包括:

  • 用户已建立了完善的开发测试流程,包括 CI/CD 平台、容器镜像仓库以及 Rancher 容器管理平台。这部分无需改造,但新的容器平台必须能够兼容现有的容器管理平台及相关组件。

  • 新的容器平台需同时支持开发测试和生产环境,并确保在高负载情况下的稳定性和可靠性。

  • 为实现平滑过渡,新的容器平台应为标准的 Kubernetes 集群,以便现有 VMware TKG 中的容器化应用能够无缝迁移并部署到新平台,避免任何改造需求。

因此,在进行方案验证时,我们首先通过功能验证确保平台的技术能力,随后在业务双活场景中检验 SKS 在实际生产环境中的表现。

替代可行性验证

验证项目一:功能验证

在初期产品调研中,用户发现 SKS 在很多方面与 TKG 能力高度契合,具体包括:

  • 在 SmartX 原生虚拟化 ELF 的超融合集群中,可利用虚拟机节点构建 Kubernetes 集群,并通过 Kubeconfig 文件的方式交付使用。

  • 可对 Kubernetes 集群实现自动化、标准化的全生命周期管理,包括集群的快速扩缩容、节点替换、升级和回滚。

  • 在统一管理平台中,可同时管理虚拟机和多个 Kubernetes 集群,并借助超融合集群的虚拟化技术,实现资源的共享和逻辑隔离,同时及时回收资源,提高资源利用率。

  • 在同一基础架构资源池上,可创建并运维多个不同规模、不同版本、不同配置和用途的 Kubernetes 集群,各集群间实现资源与网络隔离,互不干扰。

  • SKS 创建的标准 Kubernetes 集群能够被容器云平台纳管,可以为用户构建出一个完整的现代化应用平台,进一步提高了容器平台的灵活性和扩展性,满足用户对于构建现代化应用架构的需求。

在第一阶段测试中,用户使用 3 台海光服务器部署了基于 ELF 虚拟化的 SmartX 超融合集群,对 SKS 进行了测试。测试范围涵盖了功能、性能、集成插件以及可靠性等数十个项目,并结合用户需求,重点验证了 SKS 与 Rancher 的集成能力。

测试项目和结果统计如下:

可以看到,SKS 通过了全部测试项目,用户也反馈,SKS 与 TKG 在 Kubernetes 集群生命周期管理和监控运维方面表现相当,尤其是在自动化运维、滚动更新、日志管理和故障诊断等关键环节具备同等的能力。此外,SKS 支持 Kubernetes 原生 API 接口,兼容用户现有的管理和监控工具,使得运维人员能够延续既有的运维流程与实践,高效实现从 Tanzu 向 SKS 的无缝过渡。

验证项目二:业务双活验证

​在第一阶段测试顺利完成后,第二阶段测试重点针对用户的业务特性和高可用性场景进行了深入验证。为全面评估系统在容灾及多站点部署环境下的表现,我们搭建了两个独立的 SmartX 超融合集群,这两个集群均为 4+4 超融合节点,采用 Intel 架构,专门用于运行 SKS,以承载用户的微服务应用。两个超融合集群位于不同的数据中心,通过裸纤网络实现了高效的连通。

在此基础上,分别在两个站点创建了一个 Kubernetes 工作负载集群,每个集群配置了 6 个工作节点(worker node),以模拟真实生产环境中的高可用部署场景。此次测试选取了用户的 UAT(用户验收测试) 业务进行验证,涵盖了信托、权益、APP 和工具等多类微服务的开发测试业务。

在测试过程中,CloudTower 平台提供了对双站点超融合和 Kubernetes 集群的统一管理。这一管理能力不仅简化了多数据中心架构的管理工作,还提升了整体资源利用效率,确保了在故障发生时业务能够快速切换和恢复。SKS 集群在稳定性和业务连续性方面的成功验证,进一步增强了用户对替换的信心。

建设思路及成果

经过前期多次验证,充分证明了使用 SKS 替代 Tanzu 的可行性。用户在此基础上重新设计并建设了业务架构,同时替换了 VMware 虚拟化,以 SmartX 超融合平台(搭配原生虚拟化 ELF)和 SKS 承载了虚拟化及容器化业务,并通过 CloudTower 实现了两个环境的统一管理。整个架构自上而下划分为多个层级,确保了业务的高可用性和扩展性。

业务应用设计与建设思路

  1. 接入层:用户通过物理全局负载均衡设备(GSLB)实现高可用的流量引导与监控。GSLB 能够智能识别业务运行情况,保障系统的高效运行,在任何一个站点发生故障时,负载均衡设备会迅速将流量引导至另一个站点,实现跨数据中心的业务切换,确保业务不中断。

  2. 应用层:容器化业务通过 SKS 承载,涵盖了四大模块:信托类、权益类、APP 服务和工具类服务。这些模块被进一步细分为多个小型子项,分别通过不同的微服务部署,从而实现灵活扩展。为了保障业务级别的高可用性,用户在两个数据中心部署了双 Consul 集群,组成了联合集群。这一设计使得系统能够实时检测各个服务的状态,并在主站点某个子模块故障时,将该部分业务自动切换到备站点,无需整体切换。

    这种分布式的设计不仅提高了故障恢复的效率,也确保其他正常运行的业务不会受到影响,从而最大限度地保障了系统的连续性。

  3. 数据库部分:在数据库层,用户的 Redis 和 TDSQL 等服务均基于 SmartX 超融合集群以虚拟机方式进行部署。通过哨兵模式和数据复制机制,这些数据库服务具备高可用能力,能够在故障发生时,自动从备节点切换,确保业务不中断,实现了跨数据中心的容灾能力,确保数据的可靠性和业务的连续性。

  4. 持续集成部分:在持续集成方面,用户通过虚拟机部署了 Jenkins、GitLab 等工具,充分利用 SmartX 超融合集群的资源。这些工具通过虚拟机的高可用性和备份机制,实现了持续集成环境的稳定运行。用户配置了 CI/CD 流水线,使得开发、测试和部署过程能够自动化,并能够在系统发生故障时,通过备份和恢复机制快速恢复到正常状态。

  5. 非结构化数据存储:对于非结构化数据,用户选用了物理对象存储系统,专门用于存储非结构化数据(如日志、文件等)。对象存储通过跨数据中心的同步复制机制确保数据安全,即使一个站点出现故障,另一站点的数据副本依然能够确保业务的连续性。

通过以上架构设计,用户实现了多层次的高可用性和容错能力。无论是服务层的快速切换、数据库层的自动容灾,还是存储层的数据同步复制,该架构都能确保在系统发生多种故障时,数据与服务能够快速恢复,最大限度地减少了对业务运行的影响。同时,灵活的微服务架构使得系统能够根据业务需求进行扩展,提升了整体的稳定性与可靠性。

基础设施设计与建设思路

  • 1. 主站点与备站点:该架构的主站点与备站点由同城的两个数据中心组成,确保了业务的高可用性与灾备能力。在每个数据中心中,各自配置了两个超融合集群。一个集群专门用于部署 SKS 承载容器化应用,另一个集群则用于承载传统虚拟机应用。服务器硬件方面,用户选择了 SMTX Halo 超融合一体机,这不仅提供了统一的软硬件维保入口,还确保了软硬件之间的高度兼容性,从而显著提升了运维和售后的效率。

  • 2. 工作负载集群: 分别在主和备站点内承载 SKS 的超融合集群内创建 2 个 SKS Kubernetes 工作负载集群,分别承载生产环境与 UAT 环境。这些 Kubernetes 集群的 Control Plane 和 Worker 节点通过虚拟机进行部署,便于 Kubernetes 集群自身的灵活部署与扩展以及故障后快速自愈。同时这些由 SKS 创建的 Kubernetes 集群通过用户的 Rancher 进行纳管,便于用户的运维和开发人员统一维护。

  • 3. 统一管理平台:CloudTower 提供了对多个数据中心超融合集群及 SKS 集群的统一管理功能。用户可以通过一个集成的管理界面进行多维度的管理,涵盖虚拟机资源、容器资源以及基础架构的计算(包含 Intel、海光、鲲鹏架构)、存储和网络等各类资源。统一的管理平面不仅有效监控和管理各个集群的资源,还显著提高了运维效率和资源利用率,方便了整体的监控和管理。

通过这种双数据中心的架构设计,用户不仅实现了业务的灵活部署和高可用性,还在面对潜在的故障时,能够快速响应并确保业务的连续性和稳定性,大幅提升了整体系统的可靠性,以适应不断变化的业务需求。

故障场景与应对

可以看到,上述业务层和基础设施层组成的完备高可用架构,大幅提高了业务系统的健壮性与可恢复性,能够为以下多个级别的故障场景提供高可用保护:

  • 1. 节点故障容错:在每个数据中心,超融合集群内的节点(物理服务器)如果发生故障,系统会自动将工作负载转移至其他正常运行的节点,确保容器化和虚拟机应用能够平稳继续运行。特别是 SKS 集群具备的自愈机制,能够自动重启崩溃的 Pod 并自动重建 Kubernetes 相关组件,保障服务的连续性和高可用性。

  • 2. 应用服务故障容错:在应用层,全局负载均衡(GSLB)设备根据服务状态自动将流量引导至健康的节点或数据中心。通过两个 Consul 集群组成的联合集群,能够实时监控服务状态并在服务出现异常时自动进行切换。即使某个服务实例出现故障,系统也能够迅速调整流量至健康的实例,保障服务的持续可用。

  • 3. 数据中心故障容错:基于同城双数据中心的建设,为业务提供了跨数据中心的冗余支持。当一个数据中心发生灾难性故障时,业务可以快速切换到另一个数据中心继续运行,确保了业务的跨中心容灾能力。欲深入了解 SmartX 用户的双活建设实践,请阅读:超融合双活数据中心建设:7 家行业用户实践分享。

更多讨论:信托用户 IT 基础设施渐进式建设与国产化转型思路

回顾该信托用户的 IT 基础设施改造进程,可以看到,用户通过多个阶段的建设,逐步实现了 IT 基础设施的架构升级、高可用建设与国产化替代,并为未来的信创转型奠定基础。整个改造过程由浅入深、稳扎稳打,并有效降低了转型难度与替代成本,值得金融行业其他用户参考:

  • 阶段一:通过引入国产自研的分布式存储与超融合部署形式,实现存储的国产化转型与 IT 基础架构的升级。保留 VMware 虚拟化使用习惯,降低转型难度并验证国产厂商替代能力。

  • 阶段二:完成虚拟化与容器平台的国产化替代,实现整套 IT 基础设施软件的国产化转型,并通过多集群、多资源的统一管理满足监管的容灾需求。

  • 阶段三:计划在未来引入信创架构服务器,构建具备高可用性的全栈信创云,借助 SmartX 多集群、多资源、多芯片的统一管理能力,快速搭建新集群并完成业务迁移。

更多金融行业 IT 基础架构升级与国产化转型实践,请阅读《【信创转型与架构升级篇】金融核心生产业务场景探索文章合集》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/36165.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

python学习——格式化字符串

在Python中,格式化字符串是一种将变量插入到字符串中的方法,使得字符串的构建更为灵活和方便。以下是一些常见的格式化字符串的方法: 文章目录 1. 使用百分号 % 格式化2. 使用 str.format() 方法3. 使用 f-string (格式化字符串字面量)格式说…

【上线文档】系统上线方案模板,计算机系统上线保障计划,系统运维信息系统运行保障方案,系统上线方案模板(Word原件)

一、项目背景和目标 二、项目需求分析 2.1 功能需求 2.2 非功能需求 三、系统设计 3.1 系统架构设计 3.2 数据库设计 3.3 接口设计 3.4 用户界面设计 四、系统开发 4.1 开发环境搭建 4.2 业务逻辑开发 4.3 数据库实现 4.4 接口实现 4.5 用户界面实现 五、系统测…

MySQL索引再认识

在最近的一次MySQL测试过程中,我的同事幺加明遇到了一些令人困惑的现象,这些现象超出了我们最初的预期。一直以来,我们在建立索引时,首要考虑的原则是在区分度大的字段上建立索引。然而,在实际测试中,我们发…

SQL靶场第一关

打开sql靶场 一.判断注入类型 在网址输入?id1,页面正常回显 我们在输入?id1,页面报错,说明存在sql注入 我们再输入?id1 and 11--,页面正常回显 我们在输入?id1 and 12--,页面没有回显 这里我们知道了是字符型注入 为什么是…

ollama运行qwen2.5-coder:7b

1.linux安装 curl -fsSL https://ollama.com/install.sh | sh ollama serve # 启动ollama ollama create # 从模型文件创建模型 ollama show # 显示模型信息 ollama run # 运行模型,会先自动下载模型 ollama pull # 从注册仓库中拉取模…

牛客——打印日期,日期累加(C++)

目录 1.日期累加 1.1题目描述 1.2思路 1.3 2.打印日期 2.1题目描述 2.2思路 2.3代码 1.日期累加 1.1题目描述 计算一个日期加上若干天后是什么日期。输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。输出m行,每行按…

Stylus 浏览器扩展开发-Cursor AI辅助

项目起源 作为一个经常需要长时间盯着屏幕的开发者,我一直在寻找一个简单的方法来保护眼睛。最初的想法很简单:将网页背景色替换成护眼的豆沙绿。虽然市面上已经有类似的扩展,但我想要一个更加轻量且可定制的解决方案。 这个简单的需求逐渐…

AD20 原理图库和PCB库添加

一 点击右下角 二 点击Components 三 点击File-based Libraries Preferences 四 最后点击安装即可

微信小程序uni-app+vue3实现局部上下拉刷新和scroll-view动态高度计算

微信小程序uni-appvue3实现局部上下拉刷新和scroll-view动态高度计算 前言 在uni-appvue3项目开发中,经常需要实现列表的局部上下拉刷新功能。由于网上相关教程较少且比较零散,本文将详细介绍如何使用scroll-view组件实现这一功能,包括动态高度计算、下拉刷新、上拉加载等完整…

针对边缘计算优化LoRa的TinyML信道跳变管道

论文标题:Optimizing LoRa for Edge Computing with TinyML Pipeline for Channel Hopping(针对边缘计算优化LoRa的TinyML信道跳变管道) 作者信息:Marla Grunewald, Mounir Bensalem 和 Admela Jukan,来自德国布伦瑞克…

Linux-USB驱动实验

USB 是很常用的接口,目前大多数的设备都是 USB 接口的,比如鼠标、键盘、USB 摄像头等,我们在实际开发中也常常遇到 USB 接口的设备,本章我们就来学习一下如何使能 Linux内核自带的 USB 驱动。注意!本章并不讲解具体的 …

操作系统文件管理相关习题2

文件管理的任务和功能文件管理 任务:对用户文件和系统文件进行组织管理,以方便用户使用,并保证文件的安全 功能:文件存储空间的管理,目录管理,文件读写管理和保护 目录管理 对目录管理的要求 实现按名存…

MYSQL - 索引详解

一 什么是索引? 实际上在上一篇介绍MYSQL的体系结构当中我们稍微提及了一点,在引擎层,我们提到不同的引擎对应的索引的实现方式,选择是不一样的。 简单理解,索引(index)其实就是一种帮助MYSQL高…

AI智能体Prompt预设词指令大全+GPTs应用使用

AI智能体使用指南 直接复制在AI工具助手中使用(提问前) 可前往SparkAi系统用户官网进行直接使用 SparkAI系统介绍文档:Docs 常见AI智能体GPTs应用大全在线使用 自定义添加制作AI智能体进行使用: 文章润色器 你是一位具有敏锐洞察…

el-tree树形结构拖拽层级错乱问题

背景: 项目中有个文件夹树形菜单,并且各级菜单中的子级元素是可以任意拖拽的,也就是树形结构拖拽修改分组。 问题分析: 出现拖拽层级错乱的问题,这通常意味着在进行节点拖拽操作后,树的层级关系没有正确地被维护。这可能是因为在更新节点位…

线程和进程(juc)

线程 一:概念辨析 1:线程与进程 进程: 1:程序由指令和数据组成,指令要执行,数据要读写,就需要将指令加载给cpu,把数据加载到内存,同时程序运行时还会使用磁盘&#x…

Java基础集合(Map)

存储特点 以键值对的形式存储, 一个元素由两个值组成 键(K-key): 无序, 无下标, 元素不可重复 值(V-value): 无序, 无下标, 元素可以重复 常用实现类 HashMap JDK1.2 底层哈希表实现 线程不安全, 效率高 LinkedHashMap JDK1.2 是HashMap的子类, 底层哈希表实现 线程不安全…

NEXT开发应用质量建议与测试指南

随着鸿蒙原生开发如火如荼的进展,NEXT对应用的质量提出了更高的要求。 NEXT的应用质量分为2个部分内容: ⚫ 体验质量: 功能数据完备、基础体验、HarmonyOS特征增强体验 ⚫ 内容合规: 资质、内容、广告、付费、开发者行为等 单元测…

java应用cpu占用过高故障排除

首先一定要清楚:java应用造成cpu过高的主要原因 1:一般是线程一直处于可运行(Runnable)状态,通常这些线程在执行无阻塞操作、循环、正则或纯粹的计算等任务 2:另一个可能造成CPU高的原因是频繁GC&#xff…

CPU是如何执行任务的?

你清楚下面这几个问题吗? 有了内存,为什么还需要 CPU Cache? CPU 是怎么读写数据的? 如何让 CPU 能读取数据更快一些? CPU 伪共享是如何发生的?又该如何避免? CPU 是如何调度任务的&#x…