近日,由TWT社区主办的2021容器云职业技能大赛团队赛的冠军作品:《适用于大中型银行的云原生技术体系建设方案》中,Kube-OVN成为银行技术团队推荐的金融级云原生网络最佳实践。本文部分节选自获奖作品中的网络方案叙述,从打造金融级容器云基建的出发点,为广大金融技术团队提供网络部分改造的路径参考。

方案作者:2021容器云职业技能大赛参赛团队“三地五中心队” 队员:孙佳明 兴业数金 容器云工程师、李逍 兴业银行 应用运维工程师、林钫 兴业数金 系统运维工程师、林鑫 兴业数金 容器云工程师、王嵩阳 兴业银行 质量中心工程师

 转载来源:本文部分节选自“twt企业IT社区”公众号《适用于大中型银行的云原生技术体系建设方案》

大中型银行需打造金融级容器云基建

银行 IT 基础设施对高可用、稳定可靠有较高的要求,基于传统的 IaaS 部署应用已有相对成熟的解决方案,如存储层镜像复制、虚拟机漂移、全局 DNS 切换等。基于容器技术建设的云基础设施具备更优的资源利用率和弹性优势,但云原生技术体系仍在快速发展过程中,如何利用容器技术打造高可用、稳定可靠的IT 基础设施,各企业需求存在不同的解法,本方案设计了多云管理、Runtime 改进、高性能云原生存储、金融级容器网络、容器云容灾系统等系列方案进行容器云基础设施建设,并使其具备支撑企业级 PaaS 的扩展性能力。

图1:本方案设计的云原生技术体系全景

 金融级云原生网络方案的设计

在银行进行容器云建设和应用上云,网络一直是难点和关键点,本文作者团队认为主要是以下三点关切:

  • 主流的 K8S 网络方案与数据中心的传统网络架构很难融合,容器网络管理不透明。
  • 多集群环境下,不同业务系统间细粒度的网络管控较难实现。
  • 随着业务系统分布式、微服务转型,应用多活部署,跨集群微服务治理相对困难。

本方案将通过设计 Overlay/Underlay 双栈容器网络打通容器云与传统 IaaS 层网络, 使得网络管控更具一致性;并建设高性能全局负载, 满足银行业务系统多活部署需求。

图2:容器云网络整体设计

基于 Kube-OVN 搭建 Overlay/Underlay 双栈容器网络

Kube-OVN 是一个由国内公司开源的 K8S CNI 网络插件,本方案基于Kube-OVN 作为容器集群网络解决方案,可较好解决上述关切问题。

选用 Kube-OVN 的核心优势如下。方案社区化且可扩展性强,利用社区最为成熟的 OVS 作为网络底座,复用 OVS 社区生态,基于 K8S 架构原生设计。可在容器集群兼容 Overlay/Underlay 两种网络, Overlay 和物理网络保持独立,可进行每个 Namespace 独立网络控制,具备分布式网关/集中式网关/NAT 控制的网络出口控制方式;Underlay 网络和物理网络直接打通,直连底层结构实现高性能,且支持 Pod 运行在不通 VLAN 中,通过 VLAN 实现网络管控,通过annotation 可固定 Pod 的 IP/MAC。

图3:Kube-OVN 双栈容器网络架构

另外, OVS 层容器流量可全镜像, 便于安全审计, 流量分析;支持动态 QoS 限制双向带宽,流表实现 Service 避免 Iptables 性能损耗。

图4:通过 OVS 做流量全镜像

基于上述方案, 非核心业务容器可基于 Overlay 网络部署, 节约网络资源,灵活易扩展,关键业务系统容器可采用 Underlay 网络模式,无缝融合数据中心网络管控;Underlay 模式天然实现多集群间 Pod、虚机、物理机网络打通,高性能满足多集群微服务治理需求。

 

总结

作为一款金融级云原生网络方案,Kube-OVN以成熟的OVS用作容器网络底座,通过将OpenStack领域成熟的网络功能平移到Kubernetes,融合了安全强化、智能运维、硬件加速等多方面的特性,极大增强了Kubernetes容器网络的安全性、可运维性、管理性和性能。

在性能层面,Kube-OVN也具备金融级优异表现。通过Kube-OVN调优,可以实现和现有容器网络有同等流量性能。如某股份制银行案例,之前用到Calico方案是最接近于物理网络性能的吞吐量,通过对比,Kube-OVN在性能上与Calico相当,还可支持OVS、DPDK这种自定义协议栈以及硬件加速方案,可以提升整个的容器性能。已经过金融行业核心系统性能的压测,免除金融技术团队后顾之忧。

结合了安全、管控、监管侧的考量,以及在不同的金融机构里落地的经验,Kube-OVN可以有效地帮助金融行业用户构建更加适配金融云原生的高性能容器网络。

祝愿广大金融技术团队,都能够依据自身企业的实际情况,顺利构建高并发、高可用、高性能的云原生容器网络,稳健、高效地实现云原生化转型。

Kube-OVN:大型银行技术团队推荐的金融级云原生网络方案的更多相关文章

  1. 蚂蚁金服CTO程立:金融级分布式交易的技术路径

    总结: 强一致的微服务 oceanbase里面的投票选举以及多中心多地部署 单元化市异地多活的基础.支付宝是异地多活和容灾结合,而容灾的基础也是单元化.基于单元化进行单元的调度.部署.容灾. 混合云架 ...

  2. 云原生技术赋能ISV实现应用现代化

    日前,由BP商业伙伴主办,中国开源云联盟和云原生应用现代化联盟协办的2021-2022云计算生态峰会成功举办.头部ISV代表.最终用户和云原生技术专家等与会各方围绕"云原生技术赋能ISV&q ...

  3. BAT 技术团队博客

    1. 美团技术团队博客:  地址: http://tech.meituan.com/ 2. 腾讯社交用户体验设计(ISUX) 地址:http://isux.tencent.com/ 3. 京东设计中心 ...

  4. <转>技术团队新官上任之基层篇

    发表于2013-09-04 17:17| 10455次阅读| 来源<程序员>| 35 条评论| 作者高博 <程序员>杂志2013年9月刊技术团队管理EMC高博CTO 摘要:从技 ...

  5. web技术人员-推荐书籍

    学习是技术人员成长的基础,本次分享20本技术方面的书籍,这些书不是每一本都是经典,但是每一本都有其特点.以下20本大部分本人都看过,因此推荐给大家.(本次推荐的20本只是一个参考,比如像Head Fi ...

  6. 腾讯QQ会员技术团队:人人都可以做深度学习应用:入门篇(下)

    四.经典入门demo:识别手写数字(MNIST) 常规的编程入门有"Hello world"程序,而深度学习的入门程序则是MNIST,一个识别28*28像素的图片中的手写数字的程序 ...

  7. 腾讯QQ会员技术团队:以手机QQ会员H5加速为例,为你揭开sonic技术内幕

    目前移动端越多越多的网页开始H5化,一方面可以减少安装包体积,另一方面也方便运营.但是相对于原生界面而言,H5的慢速问题一定被大家所诟病,针对这个问题,目前手Q存在几种方案,最常见的便是离线包方案,但 ...

  8. 《大型网站技术架构:核心原理与案例分析》【PDF】下载

    <大型网站技术架构:核心原理与案例分析>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062557 内容简介 本书通过梳理大型网站 ...

  9. Lyft高管的技术团队管理实战

    Lyft 的技术总监沈思维分享了他对于管理技术团队和打造工程文化的经验,也欢迎添加他的微信公众号"人家的屋顶"了解更多(微信公众号ID: othersroof).沈思维毕业于密歇根 ...

随机推荐

  1. PyTorch 如何理解张量:一维张量、二维张量、行/列向量、矩阵

    理解张量,并将张量与线性代数的知识连接起来,我认为最重要的是理解 tensor 的两个属性:shape 和 ndim . ndim 表示张量的维度,一维张量的 ndim 值为 1,二维张量的 ndim ...

  2. sqlplus / as sysdba 详解

    转至:https://www.cnblogs.com/jijm123/p/12821654.html 在命令窗口输入"sqlplus / as sysdba"后回车,即可连接到Or ...

  3. idea教程--Maven 骨架介绍

    简单的说,Archetype是Maven工程的模板工具包.一个Archetype定义了要做的相同类型事情的初始样式或模型.这个名称给我们提供来了一个一致的生成Maven工程的方式.Archetype会 ...

  4. Write Combining Buffer

    现代CPU使用了很多技术来降低对内存存取数据的延时,因为CPU执行的速度实在是太快了,在从内存存取数据的约120ns中,可以执行数百条指令. 其中多级的缓存架构就是为了减少这种延时,来提高CPU的利用 ...

  5. MyBatis 使用(XML版本)

    一.MyBatis相关概念 对象 / 关系数据库映射(ORM) ORM全称Object/Relation Mapping:表示对象-关系映射的缩写 ORM完成⾯向对象的编程语⾔到关系数据库的映射.当O ...

  6. iptables使用详解(centos7)

    安装前 里面有iptables的命令 [root@mcw01 ~]$ rpm -qa|grep iptables iptables-1.4.21-18.0.1.el7.centos.x86_64 [r ...

  7. gdb调试快速入门

    编译指令 gcc test.c -o test -g -g是加入调试信息,加入源码信息 启动gdb调试 gdb test 进入gdb中 设置参数 set args 10 20 显示参数show age ...

  8. LeetCode-046-全排列

    全排列 题目描述:给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 .你可以 按任意顺序 返回答案. 示例说明请见LeetCode官网. 来源:力扣(LeetCode) 链接:http ...

  9. 如何使用DTM将App事件发送到Google Analytics

    本文分享于华为开发者论坛<如何使用DTM将App事件发送到Google Analytics>,可观看视频具体集成指导. 作为一名开发者或App运营人员,实时获取用户在App中的行为数据是日 ...

  10. 为什么 TCP 链接需要三次握手,两次不可以么,为什么?

    两次握手  三次握手