博云容器云产品族:如何实现让“Any APP on Any Kubernetes”?

网友投稿 292 2022-10-19

博云容器云产品族:如何实现让“Any APP on Any Kubernetes”?

云原生落地已经进入深水区,云原生如何释放更佳效能面临更多新挑战。博云容器云产品族秉持着让一切应用都快速、稳定、安全地运行在任何 kubernetes 上为目标,以应用为核心,打造敏捷、自运维、安全的云原生操作系统为理念,来持续构建、升级博云容器云产品族,来实现“Any APP on Any Kubernetes”。

5月23日博云容器云产品族线上发布会顺利举行,本文是博云容器云产品族事业线副总经理/产品负责人王亮以《释能云原生,拓展计算边界》的分享实录。

云原生落地进入深水区

释放更佳效能面临新挑战

大家好!我是博云容器云产品族负责人王亮,接下来我来介绍下博云容器云产品族整体方案及特性,通过技术和产品特性,来全面分享博云容器云产品族释​能云原生,拓展计算边界的设计理念和产品能力。

随着云原生多年来不断的发展,云原生落地已经进入深水区,云原生如何释放更佳效能面临着以下几个新挑战。

第一:计算边界不断拓展的挑战,AI训练、边缘计算、中间件等各类型应用已经纷纷向云原生化演进;第二:如何在业务全环节中更好地使用容器,在容器发展前期阶段,更多关注在应用运维方面,到目前开发者对容器的使用意愿,已经是推动容器更广泛使用的重要因素,因此未来面向开发人员的需求待深度匹配。第三:混合云和多云运用的兴趣正在增长 ,大多数企业都愿意使用多个云环境 ,随之而来的是跨不同云环境一致性体验和管理的需求日益增强;第四:云原生在生产环境的占比日益增长,对平台本身的可运维性、安全性的需求日益加大。

资源、应用、运维、安全四大增强

Any APP on Any Kubernetes

为了解决以上问题,能够让云原生在企业落地中发挥更大效能,我们一直秉持着让一切应用都快速、稳定、安全地运行在任何 kubernetes 上为目标,以应用为核心,打造敏捷、自运维、安全的云原生操作系统为理念,来持续构建、升级博云容器云产品族,也就是我们这里提到的:“Any APP on Any Kubernetes”。

基于这样的目标和理念,博云容器云产品族核心围绕在资源、应用、运维、安全 四个方面进行持续加强建设:

在资源方面,致力于持续打造安全、稳定的企业级容器引擎。在应用方面,支撑多应用场景的一致性云原生体验,在运维方面,核心构建面向云原生操作系统的自运维能力,在安全方面,提供端到端的安全解决方案。

整体来看,从这四个方面我们构成了这张博云容器云产品族能力全景图:

从下至上依次为:

最底层是对信创操作系统、硬件的全面适配和支持,包括鲲鹏、飞腾、海光等芯片,银河麒麟、统信、欧拉等操作系统。第二层是博云企业级 kubernetes 发行版 BKE,以及边缘端 Kubernetes 发行版BEE,来支撑私有云和边缘云不同场景下的企业级云原生资源底座。第三层是混合异构 Kubernetes 管理模块,主要涵盖面向开发者、资源管理、可观测性和免运维。最上层是面向各个应用场景的子产品,包括微服务产品、中间件管理产品、AI 应用支撑产品,以及容器安全产品。接下来将依次分别讲解下每个子产品和组件。

博云企业级 kubernetes 发行版BKE

博云企业级 kubernete 发行版是基于博云长期大规模生产实践锤炼而成,我们依托于云原生社区,同时结合企业实际落地痛点和需求,对社区进行了增强,构建和补充了企业级增强组件,结合社区和博云增强两方面的能力,打造了博云企业级 kubernetes 发行版,在这一方面,我们最大化资源安全、稳定的理念。

其中,在增强型组件方面,具体来讲,我们在容器运行时、编排调度、网络、存储、负载等方面总计构建了十余个企业级增强组件,同时为了更好地回馈社区,已经陆续将具备开源条件的组件贡献给社区。接下来我将举例介绍下其中的几个组件。

1. 金融级全场景网络组件 Fabric

我们在做容器服务之初,也是在使用 Calico、Flannel 等开源网络方案,但是由于客户网络现状复杂,同时开源组件不能很好的满足企业级需求,特别是金融客户对网络提出了更多需求,为此我们结合客户的痛点和需求,构建了金融级 Fabric 网络组件。

在设计理念方面,组件采用了微分段设计,在控制面保持高稳定性、快速收敛;采用全分布式部署,扩展性强、无单点故障;同时提供了完备的安全隔离能力,比如租户、应用等多级隔离、以及隧道加密等等。

在金融级全场景方面,可以提供Linux、Windows下全场景网络能力,包括Overlay/Underlay、IPv6双栈等等;同时提供网络的端到端可观测性,以及自运维。

综合来看,Fabric 组件的功能增强项达到100多项,在小包测试环境下,延迟可以降低50%,吞吐量提升30%,流表条目减少60%。

2. 企业级容器负载均衡组件BeyondELB

接下来介绍下企业级容器负载均衡组件BeyondELB,目前负载普遍在用的组件为Nginx,但是 Nginx 功能比较简单,在复杂业务场景,无法满足企业级需求。

综合这些问题,我们基于 Nginx Ingress Controller 做了进一步模型改进和功能扩充,满足不同场景下对负载的需求。

在组件设计方面,提供多级配置分离能力,支持平台级、租户级等多层级负载配置;采用了informers的方式进行实时监听,可以实时监听 kubernetes资源变化,并动态生成配置;同样,自运维的设计理念也体现在负载组件中,比如可以自动探测流量异常等情况,并进行自动切换。

在负载能力方面,具备全功能7层和4层负载能力,以及应用敏捷的健康检查等等。

综合来讲,对比开源能力,企业级特性增强50多项,通过组件的可观测性和自运维,负载的运维效率可以提升100%。

3. 云原生本地存储组件carina

云原生发展的第一阶段重点场景为无状态应用,已有的NAS、Ceph、NFS等这些存储方式,能够满足其业务特征的需求,但是目前更多有状态的应用要云原生化,对磁盘的高IO、低延迟等提出更高需求。

为此,在2021 年 10 月,博云开源了 Carina 本地存储方案,提供了数据库与中间件等有状态应用云原生化所必须的/高性能本地存储能力,满足高IO、极低延迟的性能要求。可以使有状态应用存储性能提升30%,延迟降低80%。

目前为止,Carina已经进入CNCF全景图,是行业首个高性能、免运维的本地存储 CSI 方案。

4. GPU资源池能力

接下来介绍下 GPU 资源池能力,通过软件定义 GPU,可以实现 GPU 细颗粒度资源共享,跨物理机资源聚合,跨物理机远程调用,资源池范围内动态伸缩,可以满足不同场景需求的GPU资源池化能力。

具体来讲,可以提供八大业务场景,比如算力切分、显存切分、远程调度、聚合调度等等。同时,在构建 GPU 资源池能力中,性能的极致优化是我们贯穿整个设计的重点,在池化过程中,可以确保虚拟 GPU 和物理 GPU 性能近似。

5. 边缘计算云原生产品

接下来介绍下边缘计算云原生产品,博云边缘计算解决方案提供了云原生的云、边、端的一体化方案,一方面提供了云边端完整业务能力,同时为了更好的适配弱网络环境下的边缘网络需求,我们构建了行业内首个边缘云原生网络组件FabEdge,目前已经贡献给 CNCF 社区,是 CNC F首个边缘容器网络沙箱项目。目前在边缘网络方面,与多家主流供应商在开展技术合作。

综上所述,这里对博云企业级 kubernetes 发行版做个简要总结,在底层建设上,我们一直秉持着来源于社区,增强于社区,并回馈于社区。

博云提供的增强型组件包含两类,一类是领先的企业级云原生组件,比如网络Fabric,负载均衡 ELB,并且持续在加强优化,同时为了更好的回馈社区,我们正在与 CNCF 探讨后续开源的方式;一类是博云已经开源的组件,这里面包含了本地存储 Carina、AI作业编排 JobFlow、边缘网络 FabEdge 等。

混合异构Kubernetes管理模块BKM

接下来,为大家介绍下容器产品族的混合异构 Kubernete 管理模块BKM。在上面的介绍中我们提到了,博云容器云产品族核构建的四个核心方向,其中的两个方向,一个是应用端到端的一致性云原生体验 ,另一个是云原生自运维能力。在这两个领域的建设正是体现在混合异构Kubernetes管模块 的能力构建当中。

具体来讲,该模块的能力由四个方面构成:

第一是面向于应用的开发者和运维者的视角。对于开发者提供在线 IDE、开发环境快速生成、企业级流水线等更靠近开发者需求的建设;对于应用运维者,提供敏捷部署、应用全生命周期管理能力;满足应用从开发侧到运维侧,不同阶段的需求;第二是资源管理层面的建设。提供集群、网络、负载、异构kubernetes纳管等能力;第三是可观测性的建设。可提供面向资源、网络、负载、微服务、中间件等全维度可观测能力;第四是自动化运维能力的建设。可以提供备份恢复、故障自愈、自动巡检等面向云原生操作系统的自运维能力,持续降低云原生运维成本;

其中在资源管理层面要重点一提的是,混合异构 Kubernetes 兼容纳管的能力,是一套管理平台可以同时纳管多种 kubernetes 发行版,其中包括博云企业级发行版、社区开源版、以及国内主流公有云、私有云厂商发行版。

以上,博云企业级 kubernetes 发行版BKE 与混合异构kubernetes管理模块BKM 组成了博云容器云平台的核心能力。

微服务应用管理BMS

微服务应用是云原生应用场景的重点,应用架构微服务化在为应用的发展带来了快速迭代等诸多好处的同时,也带来了诸多挑战,比如:SpringCloud、Dubbo等多框架的并存?现有这些框架如何平滑向下一代微服务mesh演进?以及目前在微服务落地过程中,遇到比较大的推广问题,就是应用的无侵入。

这里面要着重提到的一点是,微服务作为业务形态维度的管理,容器作为业务运行时管理,两者如何无缝融合才能够更大发挥云原生的整体效用,也是目前在云原生落地过程中需要重点考虑的方面。

对此,在微服务场景,我们充分结合了目前微服务落地的这些需求和挑战, 提供了微服务应用管理产品BMS:

在框架上,可同时支持 Springcloud、Dubbo 和 Mesh 的多框架治理能力,并且为支撑现有框架平滑地向 Mesh 演进,提供了多框架融合能力。在可观测性方面,提供了应用的全链路可观测性能力,包括应用拓扑、链路跟踪、以及熔断监控等等;在应用接入方面,我们新版本升级到 agent 治理模式,对应用更友好、无侵入,提高微服务接入效率。

在微服务应用管理BMS中要重点一提的是,我们充分结合云原生以应用为核心视角的理念,将微服务应用管理平台与容器云平台进行了无缝融合。

具体来讲,我们提供了敏态云原生应用全栈管理能力,基于应用的视角,组合容器与微服务业务能力,达到“书同文、车同轨”的业务一致性目标,提供云原生以应用为核心视角的管理能力,实现为业务赋能的最终目标。

中间件管理BMM​

在传统中间件管理方式中,解决了基本的自动化部署和运维能力,但是随着中间件的不断发展,中间件的运维和可观测性等需求日益加大。因此,中间件云原生化的步伐也日益加快,越来越多的企业选择 Operator 方式。但是 Operator 从开源走向生产级服务,还有较多不足,需要诸多企业级服务的加持。

比如:开源 Operator难以开箱即用,在多版本、个性化指标、大规模数据迁移等方面无法满足企业级需求;同时,在匹配中间件业务特征的网络和存储等云原生组件方面,社区发展还不够成熟,缺乏相应的储备。为了更好的补充社区能力、以及满足企业级落地需求,我们提供了中间件全生命周期管理平台BMM。

一方面提供了从资源管理、自动部署、备份恢复、性能监控等中间件全生命周期管理的能力,满足中间件业务管理的需要,另一方面我们在 Operator 底层做了大量企业级增强。

比如,MySQL 集群可以实现配置热更新、慢查询监控、手动主从切换、主从同步监控等专业能力;再拿 Redis 举例,Redis 集群可以实现配置热更新、集群扩缩容过程中的数据自动迁移等等;同时,博云的金融级网络解决方案 Fabric 和存储解决方案 Carina 也都为中间件场景提供了绝佳的网络层和存储层。

例如 Fabric 网络层损耗在3%以下、性能极佳,同时 Fabric 提供的多租户隔离、多数据面也为多租户下中间件的稳定运行提供了足够的安全保障。Carina 则是博云开源的中间件存储解决方案,为中间件提供了最低的性能延迟和免运维的管理体验。

AI 应用支撑BCC

AI 应用的发展日新月异,快速迭代、快速上线调试、更大规模训练是新生代 AI应用的发展特征,原来传统调度方式已经难以支持。为能够更好地支撑AI应用训练场景的云原生化,我们提供了AI应用支撑产品BCC。

在 AI 支撑方面,可以支持 TenserFlow、MPI 等几十种训练框架,在资源管理方面,可以无缝的与资源管理模块进行融合,提供全栈资源管理能力。

在这里要重点一提的是,为了支撑大规模以及多训练场景,我们在底层调度、网络和编排进行了能力深度加强,比如,在 Windows 场景下,我们加强了 kubernetes 对 Windows 调度的优化。

在作业编排方面,我们构建了多场景作业编排组件 JobFlow,来支撑作业的多框架、混合异构等复杂场景的编排。其中,JobFlow是行业首个作业编排组件,目前我们已经捐献给 Volcano 社区。

容器安全产品BKS

我们知道,容器化作为轻量级虚拟化技术,不同于传统虚拟化技术,容器共用操作系统内核,容器的安全运行是未来支撑更大规模生产级推广落地的关键。

为此,我们在容器云产品族提供了容器安全产品BKS,能够提供从构建安全、镜像安全、运行时安全、生态环境安全的全维度云原生安全能力,总体病毒识别率可达到98%,保障容器环境下的安全运行。

总结

以上就是对容器云产品族的整体介绍。最后,对博云容器云产品族的核心发展方向和理念再做个总结。

一是持续在扩展云原生计算边界,从之初的微服务应用到中间件再到AI支撑场景,而且未来我们仍然会在不断拓展计算边界的路上;二是全覆盖开发者和运维侧的端到端敏捷需求;三是云原生自运维体系的建设;四是全维度的安全能力建设。

基于这四个方面的持续迭代和建设,博云容器云产品族将持续致力于推动最大化释放云原生效能。

我的介绍就到这里,谢谢大家!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于Mybatis中SQL节点的深入解析
下一篇:Docker 入门:Docker是什么
相关文章

 发表评论

暂时没有评论,来抢沙发吧~