作者:Pan Liangbiao 2022-12-15 11:26:44
云计算
云原生 本文会详细介绍vivo在容器集群高可用建设中的具体实践,包括在容器集群高可用建设、容器集群自动化运维、容器平台架构升级、容器平台能力增强、容器生态打通等层面的打磨和建设。
创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、网站建设、鹰手营子网络推广、微信小程序定制开发、鹰手营子网络营销、鹰手营子企业策划、鹰手营子品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供鹰手营子建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
2018年起,vivo以容器作为基础底座,打造了一站式云原生机器学习平台。向上支撑了算法中台,为算法工程师提供数据管理、模型训练、模型管理、模型部署等能力,为广告、推荐和搜索等业务赋能,成功为算法实现了降本、提效,让云原生和容器价值初露锋芒。基于机器学习平台的试点成果,经过算法场景的试点实践和价值分析,对内部战略做了升级。确定基于云原生理念去构建行业一流的容器生态,实现规模化的降本提效目标。
本文会详细介绍vivo在容器集群高可用建设中的具体实践,包括在容器集群高可用建设、容器集群自动化运维、容器平台架构升级、容器平台能力增强、容器生态打通等层面的打磨和建设。目前,vivo容器产品能力矩阵逐渐趋于完善,并将围绕全面容器化、拥抱云原生和在离线混部三个方向继续发力。
云原生和容器,是当下比较火热的话题,其中 Kubernetes更是成为容器编排领域的事实标准。
国内外各企业在内部落地云原生和容器的过程中,基于自己的业务场景和发展阶段,会遇到各种问题和挑战,本文是vivo在云原生容器领域的探索和落地实践,希望能对读者有一些借鉴和帮助。
首先是容器技术和云原生理念的介绍。
容器技术不是一个新技术,从1979年unix系统的chroot诞生到现在,历经40多年的发展,共经过了四个阶段,分别是:技术萌芽期、技术迸发期、商用探索期和商用拓展期。
每个阶段,解决了不同的技术问题,分别是:环境隔离、软件分发和编排、商用服务形态、规模化和场景拓展。
相比于虚拟机,容器技术少了一层虚拟操作系统的损耗,因此它比虚拟机具有更好的性能表现。另外容器在系统资源、启动时间、集群规模、高可用策略等方面,也有非常明显的优势。
2020年CNCF中国云原生调查报告显示,接受调查的中国企业,有68%已经在生产环境使用容器技术。
从行业发展看,不管是云厂商还是各大科技公司,都在基于容器技术构建自己的新一代基础架构,推动企业数字创新。容器技术已经得到广泛的认可和普及。
容器技术催生了云原生思潮,云原生生态推动了容器技术的发展。那么云原生的准确定义和含义是什么呢?
云原生其实没有标准定义,如果非要给他一个定义,行业有两种观点:
它把云原生分为3种核心技术和2个核心理念:
但是,不管是那一种定义,容器都是其基础,是云原生落地的核心技术手段。
任何技术和理念,都必须有实际的业务价值。从效率、成本、质量三个维度,来分析云原生和容器的技术价值,可总结如下:
新技术的引入带来新的价值,也必然会引入新的问题,接下来介绍vivo在容器技术上的探索和实践。
在vivo的算法场景中,机器学习平台负责算法模型迭代,是互联网算法业务中核心的一环,早期的平台基于传统的架构,在效率、成本、性能和体验上均有一定的不足,无法满足算法业务快速增长的诉求。基于此,我们首先在算法场景进行容器的试点探索。从2018年开始,我们以容器作为基础底座,打造了vivo的一站式云原生机器学习平台,向上支撑了公司的算法中台,为算法工程师提供数据管理、模型训练、模型管理、模型部署等能力,为广告、推荐和搜索等业务赋能。
vivo的云原生机器学习平台具备如下5大优势:
vivo云原生机器学习平台,成功为算法实现了降本、提效,让云原生和容器价值初露锋芒。
基于前面机器学习平台的试点成果,我们深入分析和挖掘容器和云原生的价值,结合vivo的情况,我们发现容器和云原生是企业大规模降本和提效的最佳方案。
1)在降本方面
当前我们内部服务器资源的利用率较低,以CPU利用率为例,当前vivo服务器整体利用率均值在25%左右,相比行业一流水平的40%~50%,还有不少的提升空间。
容器在资源隔离、统一调度和在离线混部等方面的优势,均是提升资源ROI的有效技术手段。
2)在提效方面
当前我们在中间件版本升级、机器迁移、测试环境管理、突发流量应对和全球化部署的环境一致性等方面均有业务痛点。
容器的快速交付、弹性自运维、微服务、服务网格等云原生技术和架构,则是提效的有力措施。
经过算法场景的试点实践和价值分析,我们对内部战略做了升级, 确定基于云原生理念去构建行业一流的容器生态,实现规模化的降本提效目标。
为了更好匹配战略落地,拥抱云原生,我们还对内部技术架构重新规划和升级,新增引入统一流量接入平台、容器运维管理平台、统一名字服务、容器监控等平台和能力,支撑容器生态在公司内部的全面建设和推广。
2.4.1 集群挑战
要提供大规模的生产可用的容器服务,容器集群的可用性首先会面临诸多挑战。下面介绍vivo容器化,在生产集群建设过程中遇到的4个比较大的挑战。
针对挑战,我们的应对方案分别是:高可用、可观测、标准化和自动化。其中容器监控和k8s版本无损升级的挑战,vivo公众号有详细技术方案的介绍,本文侧重介绍集群高可用和运维自动化两部分。
2.4.2 平台挑战
除了集群稳定性的挑战,平台也将面临各种挑战,由于容器平台和周边生态能力不完善,对业务存在较高的适配和迁移成本。总结起来我们遇到的挑战主要有4点:
上面这些挑战,推动我们要进行容器周边生态打通,同时通过增强容器平台产品能力,来适配各种业务场景,降低用户的迁移成本。
2.5.1 容器集群高可用建设
接下来,介绍vivo在容器集群高可用建设中的最佳实践,我们是从故障预防、故障发现和故障恢复,3个维度来构建容器集群可用性保障体系的。
1、在故障预防上,我们分别从流程工具、容灾能力和基础架构3个方面来进行建设:
2、在故障发现上,我们主要是通过,自建的监控大盘、日常集群巡检、核心组件监控、集群外拨测等措施,对故障及时发现和处理,降低对业务影响。
3、在故障恢复上,主要是基于前面的故障预案,快速恢复,及时止损,并做好故障的复盘,不断改进我们的故障预防和发现机制,沉淀宝贵经验。
另外,集群的可观测性是可用性保障的一个重要依据,我们通过建设自己的SLO面板,对集群状态实时地进行监控,只有对运营状况了如指掌,才能做到稳如泰山,沉着应对一切变化。
2.5.2 容器集群自动化运维
除了容器集群自身稳定性建设,在运维自动化方面,我们建设了容器多集群管理平台,实现集群配置标准化,核心运维场景白屏化,来提升运维效率。
我们的容器集群管理平台,是以云原生的方式来管理云原生,简单来说,就是基于k8s的operator机制,实现k8s on k8s。
当前,我们的平台已经能够实现多集群的统一纳管,集群部署也是自动化、标准化的,还实现了底层IAAS层打通,集群节点能全流程化、可视化的一键扩缩容,而集群巡检功能,可以帮助我们及时发现集群的问题和隐患。
通过平台进行日常运维和操作,不仅能提升效率,也具备审计能力,有操作和变更日志可追溯,便于问题定位。
2.5.3 容器平台架构升级
为适应业务容器化在内部的快速普及和推广,我们升级了vivo的容器平台架构。
新的架构分为4层,容器+k8s则作为基础的统一底座,向下对接公司IAAS层的基础设施,向上提供容器产品和平台能力,并通过开放API供上层调用和定制自己的上层逻辑。
API之上是容器支持的各种服务类型,包括在线服务、中间件服务、大数据计算、算法训练、实时计算等,最上面是为vivo互联网各个业务进行赋能。
基于这套容器平台架构,业务能实现资源隔离部署、快速交付和按需使用,同时也具备更好的弹性伸缩能力。对平台,我们可以统一资源的调度,实现资源的分时复用、在离线混部等,来提升资源的利用率。
2.5.4 容器平台能力增强
vivo内部容器化场景比较多样化,为了让业务能够安心、低成本的接入和使用容器的能力,在推广过程中,我们基于开源+自研做了容器的适配和原生能力的增强。
下面对6个产品能力增强进行简单的分享:
当然,在充分享受开源红利的同时,我们也持续地参与开源协同,回馈社区。在使用和自研的过程中,我们也把自己生产实践过程中发现的问题和积累的经验提交到社区,例如Dragonfly2、Karmada等。
2.5.5 容器CICD一体化
除了平台能力的增强,容器平台作为一个PaaS平台,需要和周边的生态打通,才能让业务更好的迁移和使用,其中最重要的就是发布系统的打通,也就是CICD平台。
几乎每个科技公司都会有自己的CICD,它是一个DevOps自动化的工具,可进行业务构建和编排部署的流水线。
vivo的CICD平台底层架构是基于JenKins+Spinnaker实现的,整个容器构建和部署流程如下:
2.5.6 统一流量接入
接下来,介绍容器生态里,最重要的业务流量接入层的打通。
早期,vivo内部是基于Nginx,来实现的南北流量和东西流量的转发。在虚拟机和物理机场景能比较好的支撑,随着容器在内部全面的推广,传统的Nginx架构已不能适配。
主要体现在,容器场景业务实例数量,相比原来虚拟机和物理机成倍数增长,容器发布过程IP的频发变化和状态同步,都会对Nginx集群造成非常大的压力,在业务请求量非常大的情况下,接入层的配置文件刷新和加载,会造成业务的抖动,这是我们不能接受的。
基于这个背景,我们基于APISIX构建了云原生流量接入层,来适应全面容器化的需求。经过一年多的建设,当前我们的统一流量接入平台已经能够很好的支撑容器化的接入,同时具备更好的扩展能力。
2.6.1 产品能力矩阵完善
经过多年的打磨和建设,vivo容器产品能力矩阵趋于完善,整个产品能力矩阵,分为4层:
2.6.2 业务接入成果凸显
接下来,会具体介绍下vivo容器推广情况。
目前容器在vivo内部主要覆盖4大场景,分别是:互联网在线业务、算法在线、大数据计算和AI算法训练等。接下来,会从接入规模和价值来简单介绍。
业务容器化后,给业务在降本提效上带来的效果非常明显,包括但不限于扩缩容效率、弹性伸缩能力、业务自愈能力、资源成本等方面。
基于我们的探索和实践,可总结为技术价值、推广策略、平台建设和云原生突破4个维度的思考。
总的来说,技术服务于业务,企业应基于自身现状,寻找合适的解决方案,并为业务创造价值。
从过去看未来发展,回顾过去10年历程,vivo基础架构的发展经历了3个阶段:
回归事物本源思考,做正确的事,并把事情做正确。不盲从,有定力,基于价值,客观看待新技术发展,大胆假设、小心验证、实践出真知。
vivo云原生的未来,将会朝着3个方向发展,分别是全面容器化、拥抱云原生和在离线混部。
本文题目:vivo云原生容器探索和落地实践
浏览路径:http://www.shufengxianlan.com/qtweb/news43/518643.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联