• [行业前沿] 【云原生批量调度引擎Volcano案例】 ING国际银行基于Volcano的大数据分析平台应用实践
    在 KubeCon + CloudNativeCon North America 2022 ,ING集团发表了《Efficient Scheduling Of High Performance Batch Computing For Analytics Workloads With Volcano - Krzysztof Adamski & Tinco Boekestijn, ING》主题演讲,重点介绍了云原生批量计算项目Volcano如何在数据管理平台中为大数据分析作业提供高性能调度工作。详情参见:KubeCon + CloudNativeCon North America ▎ING背景介绍ING集团(荷兰语:Internationale Nederlanden Groep),亦名荷兰国际集团,是一个国际金融服务私营企业,成立于1991年,由荷兰最大的保险公司Nationale-Nederlanden,与荷兰的第三大银行NMB PostBank Group合并而成。ING集团的服务遍及全球40多个国家,核心业务是银行、保险及资产管理等。ING集团的全球职员大约56,000人,顾客5320万人,包括自然人、家庭,企业、政府及其他等,例如基金组织。务背▎业务背景介绍在银行行业有许多法规和限制,如:监管要求在全球范围内各不相同、数据孤岛-全局和本地限制、数据安全、合规创新等,想要快速引入新技术不是一件容易的事情,为此,ING布局符合自身产业的DAP平台(Data Analytics Platform),为全球50%的ING员工提供安全的、自助的端到端分析能力,帮助员工在数据平台之上构建并解决业务问题。2013年开始我们有了数据平台的概念,2018年通过引入云原生技术打造新一代基础设施平台,从那时起,平台需求有了稳定的增长,采用率也在持续提升,目前数据索引平台上的项目已超过400个。我们所构建的平台目标是在高度安全的自助服务平台中完成所有分析需求,并且具备以下特点:开源工具模型强大的计算能力严格的安全和合规措施所有的分析集中在同一个平台满足全球和本地需求▎挑战与方案目前我们在由传统的Hadoop平台向Kubernetes过渡,但是对于作业管理和多框架支持方面还存在一些挑战,如下:1.Job的管理a.Pod级调度,无法感知上层应用b.缺乏细粒度的生命周期管理c.缺乏任务依赖关系,作业依赖关系2.调度a.缺少基于作业的调度,如:排序、优先级、抢占、公平调度、资源预定等b.缺少足够的高级调度算法,如:CPU拓扑、任务拓扑、IO-Awareness,回填等c.缺少对作业、队列、命名空间之间资源共享机制的支持3.多框架支持a.对Tensorflow、Pytorch等框架的支持不足b.对每个框架部署(资源规划、共享)等管理比较复杂利用Kubernetes来管理应用服务(无状态应用、甚至是有状态应用)是非常方便的,但是对于批量计算任务的调度管理不如yarn友好,同样yarn也存在一些限制,比如对新框架的支持不够完善,比如TensorFlow、Pytorch等,为此,我们也在寻找新的解决方案。▍Kubernetes + Hadoop在我们之前的集群管理上,会把Hadoop和Kubernetes的调度分开,基本上所有的spark作业都会运行在Hadoop集群中,其他的一些任务和算法会运行在Kubernetes集群,我们的目标是希望所有的任务全部运行在Kubernetes集群,这样管理起来会更简单。Kubernetes和YARN共同工作时,由于Kubernetes和Hadoop资源是静态划分的,在正常办公时间,Hadoop应用和Kubernetes各自使用自身分配资源,即便spark任务压力大也无法借用更多资源。夜晚时间,集群中仅有批处理任务,Kubernetes资源全部空闲,却无法分配给Hadoop进行有效利用,对于调度平台来讲,这不是一种最佳的资源分配方式。▍Kubernetes with Volcano使用Kubernetes管理整个集群,通过Volcano进行spark任务调度,此时不需要再对资源做静态划分,集群资源可根据Pod、Batch、Interactive任务的优先级、资源压力等进行动态调整,集群整体资源利用率得到极大提升。比如在正常办公时间内,常规服务应用资源空闲的情况下,Batch和Interactive应用资源需求增多时,可以暂时借用常规服务的资源;在假期和夜晚休息时,Batch业务可以使用集群所有资源进行数据计算,集群资源利用率得到极大提升。比如在正常办公时间内,常规服务应用资源空闲的情况下,Batch和Interactive应用资源需求增多时,可以暂时借用常规服务的资源;在假期和夜晚休息时,Batch业务可以使用集群所有资源进行数据计算,集群资源利用率得到极大提升。Volcano是专为Kubernetes而生的批处理调度引擎,其提供了以下能力:加权优先级的作业队列如果集群具有备用容量,可提交超过队列资源限制的任务当更多的pod被调度时,具备抢占能力丰富可配置的工作负载调度策略     5.兼容YARN的调度能力Volcano的引入,补齐了Kubernetes平台对批处理作业的调度管理能力,并且自Apache Spark 3.3版本以来,Volcano被作为Spark on Kubernetes的默认batch调度器,安装使用更方便。业务常用特性▍冗余与局部亲和Volcano保留Kubernetes中pod级别的亲和性反亲和性策略配置,并增加了task级别的亲和性和反亲和性策略。▍DRF(Dominant Resource Fairness)调度DRF调度算法的全称是Dominant Resource Fairness,是基于容器组Domaint Resource的调度算法。volcano-scheduler观察每个Job请求的主导资源,并将其作为对集群资源使用的一种度量,根据Job的主导资源,计算Job的share值,在调度的过程中,具有较低share值的Job将具有更高的调度优先级。比如集群资源总量为CPU:18C,Memory:72GB,两个用户分别是User1和User2,每个User分配1个队列,在提交作业时会根据主导资源计算job的调度优先级。User1: CPU share值为 6/18=0.33,Memory share值为 24 / 72 = 0.33,最终share值为0.33User2:CPU share值为 12/18=0.67,Memory share值为 24 / 72 = 0.33,最终share值为0.67DRF策略在任务调度时,优先分配share值较低的Job,即User1所申请的资源。集群内队列资源可以通过配置权重值进行划分,但是当本队列提交任务超出队列分配的资源,并且其他队列存在资源空闲时,可以进行队列间资源共享。即User2在使用完本队列CPU资源后,可以使用User1队列内的空闲CPU资源。当User1队列提交新任务需要CPU资源时,将会触发抢占动作,回收User1被其他队列借用的资源。▍避免资源匮乏在使用过程中,需要避免批量计算任务与自有服务出现资源抢占与冲突的问题。比如:我们集群中有两个可用节点,集群中需要部署一个统一的服务层对外提供服务,比如Presto,或者类似Alluxio的缓存服务。但是在批量计算调度时,集群的资源空间有可能全部被占用,我们将无法完成自有服务的部署或升级,为此我们增加了空间可用系数相关配置,为集群预留一些备用空间,用于自有服务的部署使用。▍DRF 仪表盘我们根据Volcano的监控数据做了一个drf调度的仪表盘,在不同层次显示更细粒度的调度信息。在业务集群中,我们有一个队列存放交互式用户的任务,另有队列存放平台运行的所有重大项目的计算任务,我们可以为重大项目队列提供一定的资源倾斜,但是此时对交互式用户的任务将不会太友好。目前我们正在考虑增加集群高峰时段展示的功能,为用户提供更多的集群使用状态和压力等信息,在自助服务平台用户视角来看,用户按照集群的繁忙程度选择自己任务的开始时间,这样可以避免后台复杂的配置就可以获得高性能的运算体验。总结Volcano对批处理任务调度做了很好的抽象,使我们在Kubernetes平台能够获得更高的调度性能,后面我们也会将开发的功能逐步回合社区,比如:DRF Dashboard、在每个节点添加空闲空间、自动队列管理、更多的Prometheus监控指标、Grafana仪表盘更新、kube-state-metrics更新和集群角色限制等。Volcano社区技术交流地址Volcano官网:https://volcano.shGitHub : cid:link_0每周例会: https://zoom.us/j/91804791393添加社区小助手k8s2222回复“Volcano”进入技术交流群
  • [行业前沿] 华为云云原生动态
    华为云海外首发CCI Serverless容器服务,释放数字生产力在MWC23 巴展期间,华为新产品解决方案发布会在2月27日下午成功举行。在发布会上,华为云全球Marketing与销售服务总裁石冀琳表示:我们希望通过“一切皆服务”的战略,为客户、伙伴和开发者提供稳定、可靠、安全、可持续的云服务。在本次发布会上,华为云海外首发CCI Serverless容器服务正式上线。基于serverless容器架构CCI,客户无需创建和管理服务器节点,即可直接运行容器应用,按需获取、智能运维,让客户只需专注应用开发,无需关注底层资源。具备业务领先的弹性能力,助力客户轻松应对超10倍的突发流量浪涌。CCI Serverless容器具备优势如下:• 聚焦应用免运维1. Serverless无服务器容器使用全新体验2. 客户无需管理服务器或集群• 极致计算性能1. 瑶光统一资源池,提供多种X86、AXD、鲲鹏等类型算力资源2. 全面升级资源拓扑管理能力,保障容器极致算力性能• 智能统筹弹性1. 30秒发放1000容器,满足极速弹性要求2. 支持跨云、跨集群、跨IDC对接的灵活弹性,全场景助力客户业务应对峰值流量    Serverless容器构筑极致性能、高效运维、丰富算力等差异化竞争力,打造大规模高性能云原生Serverless容器资源底座。Source : 华为官网新闻报道KubeEdge 社区 v1.13.0 版本发布,稳定性、安全性大幅提升KubeEdge社区v.1.13.0版本发布。作为2023年最新版本,v.1.13.0性能在稳定性、安全性等方面进大幅提升,其中重大更新如下:• 运行性能提升:对CloudCore 内存使用减少 40%,优化List-watch dynamicController处理,增加云端和边缘之间的list-watch同步机制,增加dynamicController watch gc机制。• 安全性能提升:成为CNCF首个达到软件供应链SLSA L3等级的项目;同时删除边缘节点配置文件 edgecore.yaml 中的 token 字段,消除边缘信息泄露的风险• 对Kuberbetes支持升级至v.1.23.15: 将vendered kubernetes版本升级到v1.23.15,用户现在可以在云端和边缘使用新版本的特性。• 基于 DMI 的 Modbus 映射器:提供基于DMI的Modbus Device Mapper,用于接入Modbus协议设备。• EdgeMes​​h:向边缘隧道模块添加了可配置字段 TunnelLimitConfigedge-tunnel模块的隧道流用于管理隧道的数据流状态。用户可以获得稳定、可配置的隧道流,保证用户应用流量转发的可靠性。KubeEdge云原生边缘计算社区于2022年完成多项关键突破,相继发布《KubeEdge单集群10万边缘节点报告》,《云原生边缘计算威胁模型及安全防护技术白皮书》,并于KubeEdge Summit 2022正式开源分布式协同AI基准测试平台Ianvs。目前项目已完成EdgeMesh高可用架构,KubeEdge on openEuler支持,KubeEdge on openHarmony支持,下一代云原生边缘设备管理框架DMI也将带来更全面的的性能支持与更优的用户体验。欢迎大家测试体验。cid:link_1CNCF持续重视软件供应链安全, KubeEdge成为首个达到SLSA L3等级的项目软件供应链安全持续受到高度关注,CNCF 和OSTIF (Open Source Technology Improvement Fund,开放源码技术改进基金)在过去几年中一直合作,为CNCF 的毕业和孵化项目进行安全审计,保障开源生态系统具有更好的安全性。最新的 OSTIF 报告公布了 2022 年下半年至 2023 年初开展的独立安全审计结果。获得审计通过的项目包含KubeEdge、Argo、Istio、Envoy、CloudEvents等12个项目:审计工作通过创建良好的指导性政策和项目成熟度模型,以及可重复的审计执行流程,以确定风险、威胁媒介并实施工具来改善项目的安全状况。提升项包含:在本次公布的社区中,KubeEdge社区早在2022年7月份,通过完成整个KubeEdge项目的第三方安全审计[2] ,发布《云原生边缘计算安全威胁分析和防护白皮书》,并根据安全威胁模型和安全审计的建议,对KubeEdge软件供应链进行持续安全加固,为本次SLSA L3等级的达成做了充分的准备。在2023年1月18日,社区发布v1.13.0版本,该版本达到SLSA[1] L3等级标准(包括二进制和容器镜像构件),KubeEdge 成为CNCF社区首个达到SLSA L3等级的项目。以下表格展示了KubeEdge在Source、Build、Provenance、Common中的达标情况(Y表示KubeEdge已达标,空格表示SLSA在该等级下未要求):RequirementL1L2L3L4SourceVersion controlledYYYVerified historyYYRetained indefinitelyYYTwo-person reviewedYBuildScripted buildYYYYBuild serviceYYYBuild as codeYYEphemeral environmentYYIsolatedYYParameterlessYHermeticYProvenanceAvailableYYYTo-doAuthenticatedYYTo-doService generatedYYTo-doNon-falsifiableYTo-doDependencies completeTo-doCommonSecurityYAccessYSuperusersY为什么达到SLSA L3等级对开源项目至关重要软件供应链完整性攻击(对软件包的未经授权的修改)在过去三年中呈上升趋势。SLSA在KubeEdge项目软件供应链安全中发挥着重要作用,基于sigstore社区提供的能力,从源码到发布产物,对软件供应链端到端的整个流程进行签名和校验,确保KubeEdge软件供应链安全。自v1.13.0版本开始, KubeEdge 可以端到端的从源码构建到发布流程进行安全加固,保障用户获取到的二进制或容器镜像产物不被恶意篡改。基于SLSA安全框架,可以潜在地加强软件构件的完整性。SLSA提供端到端的指导原则,可以作为软件的一组防御措施,并防止对组成软件产品的软件包的篡改或任何类型的未经授权的修改。采用SLSA框架可以保护项目软件免受常见的供应链攻击。参考资料[1]  SLSA官网:https://slsa.dev/[2]   KubeEdge项目第三方安全审计:cid:link_0Karmada v1.5 新增多调度组助力成本优化Karmada 是开放的多云多集群容器编排引擎,旨在帮助用户在多云环境下部署和运维业务应用。在最新发布的1.5版本中,Karmada 提供了多调度组的能力,利用该能力,用户可以实现将业务优先调度到成本更低的集群,或者在主集群故障时,优先迁移业务到指定的备份集群。本版本其他新增特性:• 提供了多调度器支持能力,默认调度器可以与第三方自定义调度器协同工作,提供更强的定制能力。• 集群差异化配置策略(OverridePolicy/ClusterOverridePolicy)将按照隐式的优先级进行应用。• 内置资源解释器支持聚合StatefulSet/CronJob 状态。Karmada v1.5版本API兼容v1.4版本API,v1.4版本的用户仍然可以平滑升级到v1.5版本Volcano 社区 v1.7.0 版本正式发布,提升云原生调度能力,强化AI、大数据场景适用度北京时间2023年1月9日,Volcano社区v1.7.0版本正式发布。Volcano是业界首个云原生批量计算项目,项目于2019年6月在上海的KubeCon大会上正式宣布开源,并于2020年4月成为CNCF官方项目。2022年4月,Volcano正式晋级为CNCF孵化项目。Volcano社区开源以来,受到众多开发者、合作伙伴和用户的认可和支持。截止目前,累计有490+全球开发者向项目贡献了代码。Volcano v1.7.0版本在主流计算框架支持、通用服务调度能力、队列资源可观测性等方面进行了增强,新增特性列表如下:• Pytorch Job插件功能强化• Ray on Volcano• 增强Volcano对Kubernetes通用服务的调度能力• 支持Volcano的多架构镜像• 优化队列状态信息等本次版本发布后,Volcano可以更好的适用AI、大数据场景,为使用者提供更简洁易用的Ray、Pytorch等工作负载的云原生调度能力。Volcano云原生批量计算项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。社区已吸引2.6万+全球开发者,并获得2.8k Star和670+ Fork,参与贡献企业包括华为、AWS、百度、腾讯、京东、小红书等。目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到快速应用,已完成对Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、mxnet、KubeGene、Ray等众多主流计算框架的支持,并构建起完善的上下游生态。ING国际银行基于Volcano开展大数据分析作业,获得Kubernetes更高调度性能在 KubeCon North America 2022, ING荷兰国际集团(International Netherlands Groups)发表了《Efficient Scheduling Of High Performance Batch Computing For Analytics Workloads With Volcano - Krzysztof Adamski & Tinco Boekestijn, ING》主题演讲,重点介绍了云原生批量计算项目Volcano如何在数据管理平台中为大数据分析作业提供高性能调度工作。ING荷兰国际集团(International Netherlands Groups)是一个国际金融服务私营企业,成立于1991年,由荷兰最大的保险公司Nationale-Nederlanden,与荷兰的第三大银行NMB PostBank Group合并而成。ING集团的服务遍及全球40多个国家,核心业务是银行、保险及资产管理等。ING集团的全球职员大约56,000人,顾客5320万人,包括自然人、家庭,企业、政府及其他等,例如基金组织。在银行行业有许多法规和限制,ING布局符合自身产业的DAP平台(Data Analytics Platform),为全球50%的ING员工提供安全的、自助的端到端分析能力,帮助员工在数据平台之上构建并解决业务问题。在本次以Volcano为案例的演讲中,ING 重点指出Volcano对批处理任务调度做了很好的抽象,使其在Kubernetes平台能够获得更高的调度性能,后面ING也会将开发的功能逐步回合社区,比如:DRF Dashboard、在每个节点添加空闲空间、自动队列管理、更多的Prometheus监控指标、Grafana仪表盘更新、kube-state-metrics更新和集群角色限制等。Volcano 2019年由华为云捐献给云原生计算基金会(CNCF),也是 CNCF 首个和唯一的容器批量计算项目,帮助用户将 AI、大数据、HPC等计算密集型的业务从传统的系统快速迁移到云原生平台,加速整个云原生落地的进程。Kurator v0.2.0 发布!助力企业分布式云原生应用升级Kurator是华为云开源的分布式云原生平台,帮助用户构建属于自己的分布式云原生基础设施,助力企业数字化转型。Kurator v0.1 版本通过一键集成 Karmada,Volcano,Istio,Prometheus 等主流开源项目,提供了分布式云原生的统一多集群管理,统一的调度,统一的流量治理以及统一的应用监控能力。在最新发布的 v0.2.0 中,Kurator 新增两大类关键特性,增强了可观测性并新增了集群生命周期管理,具体包括以下重大更新。• 基于Thanos的多集群监控及指标持久化存储• 基于Pixie实时的K8s应用监控• 支持本地数据中心集群生命周期管理• 支持AWS云上自建集群生命周期管理Kurator由此开始提供分布式云原生基础设施的管理。这意味着,从此Kurator可以依托基础设施、Kubernetes集群,更好的管理各种云原生中间件,为用户提供开箱即用的分布式云原生能力。Kurator,一键构建分布式云原Kurator于2022年6月在华为伙伴暨开发者大会上开源,是业界首个开源分布式云原生平台。通过集成业界主流开源技术栈以及良好云原生舰队管理性能,Kurator为用户提供一站式、开箱即用的分布式云原生能力,打造分布式云原生技术底座,助力企业业务跨云跨边、分布式化升级。Istio宣布2023年指导委员会席位,华为占两席2月6日,Istio社区宣布2023年指导委员会(Steering Committee)席位。Istio 指导委员会[1],由 9 个贡献席位(根据企业对项目的贡献按比例分配)和 4 个选举产生的社区席位组成。每年 2 月,社区都会根据年度商定的指标[4],查看哪些公司对 Istio 的贡献最大并进行公布。华为云已连续三年获得Istio委员会席位(Steering Committee成员2名,全球仅8家公司13人);Maintainer 2名,Member 10+名。过去几年,华为云Pull Request 位于全球TOP 3,Contributions TOP 3(1.9w+)。由华为云技术团队撰写并出版的《云原生服务网络Istio:原理、实践、架构与源码解析》一书,是业内最有影响力的服务网络书籍之一。目前,华为云应用服务网格(ASM)也已服务于互联网、汽车、制造、物流、政府等多个行业的近千家客户,满足不同行业客户的业务诉求。华为云将在此过程中积累的丰富经验,转化为代码贡献给Istio社区,极大地推动了Istio技术的成熟和社区的快速发展。同时,华为云还大力投入服务网格的技术布道,通过社区论坛、技术会议、视频直播、专业书籍等各种方式,推动服务网格技术传播和普及。添加小助手微信k8s2222,进入云原生交流群
  • [技术干货] 【云原生 免费课程】从0到1学云原生,云原生开发者养成路径!
    ​63个云原生课程视频,基本上包含了整个云原生学习周期里这些都是你得花心思掌握的。内容比较细,基本上满足实操需求,涉及到容器技术、K8s、监控、运维、存储,以及比较前沿的 istio 等等……适用人群:高校学生、企业中的个人开发者以及互联网从业人员。>>>戳我查看云原生开发者学习路径 在线课程添加小助手微信k8s2222,进入云原生技术交流群 
  • [技术干货] 云原生批量计算引擎 Volcano社区v1.8.0版本正式发布
    北京时间2023年8月17日,Volcano 社区 v1.8.0 版本正式发布,此次版本增加了以下新特性:支持vGPU调度及隔离支持vGPU和用户自定义资源的抢占能力新增JobFlow工作流编排引擎节点负载感知调度与重调度支持多样化的监控系统优化Volcano对通用服务调度的能力优化Volcano charts包的发布与归档Volcano是业界首个云原生批量计算项目,于2019年6月在上海 KubeCon 正式开源,并在2020年4月成为 CNCF 官方项目。2022年4月,Volcano 正式晋级为CNCF 孵化项目。Volcano 社区开源以来,受到众多开发者、合作伙伴和用户的认可和支持。截至目前,累计有590+全球开发者参与社区贡献。▍支持vGPU调度及隔离自 ChatGPT 爆火之后,AI大模型的研发层出不穷,不同种类的AI大模型也相继推出,由于其庞大的训练任务需要大量算力,以 GPU 为核心的算力供给已成为大模型产业发展的关键基础设施。在实际使用场景中,用户对于 GPU 资源的使用存在资源利用率低,资源分配不灵活等痛点问题,必须采购大量冗余的异构算力才能满足业务需求,而异构算力本身成本高昂,为企业的发展带来了很大的负担。从 1.8版本开始,Volcano 为可共享设备(GPU、NPU、FPGA...)提供一个抽象的通用框架,开发者可以基于该框架自定义多种类型的共享设备;当前,Volcano 已基于该框架实现 GPU 虚拟化特性,支持 GPU 设备复用、资源隔离等能力,详情如下:GPU共享:每个任务可以申请使用一个 GPU 卡的部分资源,GPU 卡可以在多个任务之间共享。设备显存控制:GPU 可以按照设备显存分配(比如:3000M)或者按比例分配(比如:50%),实现 GPU 虚拟化资源隔离能力。关于 vGPU 的更多信息,请参考:如何使用 vGPU 功能:https://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_vgpu.md如何增加新的异构算力共享策略:https://github.com/volcano-sh/volcano/blob/master/docs/design/device-sharing.md▍支持vGPU和用户自定义资源的抢占能力当前 Volcano 支持 CPU、Memory 等基础资源抢占功能,对于 GPU 资源和用户基于 Volcano 框架二次开发调度插件,并自主管理的资源(如:NPU、网络资源等)尚不能很好的支持抢占能力。在1.8版本中,Volcano 对节点过滤相关处理( PredicateFn 回调函数)进行重构,返回结果中增加 Status 类型,用于标识在调度、抢占等场景下,当前节点是否满足作业下发条件。GPU 抢占功能已基于优化后的框架实现发布,用户基于Volcano 进行二次开发的调度插件可以结合业务场景适配升级。关于支持扩展资源抢占的更多信息,请参考:https://github.com/volcano-sh/volcano/pull/2916▍新增JobFlow工作流编排引擎工作流编排引擎广泛应用于高性能计算、AI 生物医药、图片处理、美颜、游戏AGI、科学计算等场景,帮助用户简化多个任务并行与依赖关系的管理,大幅度提升整体计算效率。JobFlow 是一种轻量化的任务流编排引擎,专注于 Volcano 的作业编排,为Volcano 提供作业探针、作业完成依赖,作业失败率容忍等多样化作业依赖类型,并支持复杂的流程控制原语,具体能力如下:支持大规模作业管理以及复杂任务流编排支持实时查询到所有关联作业的运行情况以及任务进度支持作业自动运行、定时启动释放人力成本支持不同任务可以设置多种动作策略,当任务满足特定条件时即可触发对应动作,如超时重试、节点故障漂移等JobFlow 任务运行演示如下:关于 JobFlow 的更多信息,请参考:https://github.com/volcano-sh/volcano/blob/master/docs/design/jobflow/README.md▍节点负载感知调度与重调度支持多样化的监控系统Kubernetes 集群状态随着任务的创建和结束实时变化,在某些场景(如:增加、删除节点,Pod、Node 的亲和性改变,作业生命周期动态变化等),出现集群节点间资源利用率不均衡,节点性能瓶颈掉线等问题,此时基于真实负载的调度与重调度可以帮助我们解决上述问题。Volcano 1.8版本之前,真实负载调度与重调度的指标获取仅支持 Prometheus,从1.8版本开始,Volcano 优化监控指标获取框架,新增 ElasticSearch 监控系统支持,并支持以较小适配工作量平滑对接更多类型监控系统。关于支持多种监控系统的更多信息,请参考:基于节点负载感知调度:https://github.com/volcano-sh/volcano/blob/master/docs/design/usage-based-scheduling.md重调度:https://github.com/volcano-sh/volcano/blob/master/docs/design/rescheduling.md▍优化Volcano对微服务调度的能力增加Kubernetes默认调度器插件开关 Volcano 是一个统一的融合调度系统,不仅支持 AI、BigData 等计算类作业,也支持微服务工作负载,兼容 Kubernetes 默认调度器的 PodTopologySpread、VolumeZone、VolumeLimits、NodeAffinity、PodAffinity等调度插件,Kubernetes 默认调度插件能力在 Volcano 中默认开启。自 Volcano 1.8 版本开始,Kubernetes 默认调度插件可以通过配置文件的方式自由选择打开和关闭,默认全部打开,如果选择关闭部分插件,比如:关闭PodTopologySpread 和 VolumeZone插件,可以在 predicate 插件中将对应的值设置为 false,配置如下:actions: "allocate, backfill, preempt" tiers: - plugins: - name: priority - name: gang - name: conformance - plugins: - name: drf - name: predicates arguments: predicate.VolumeZoneEnable: false predicate.PodTopologySpreadEnable: false - name: proportion - name: nodeorder更多信息,请参考:https://github.com/volcano-sh/volcano/issues/2748增强ClusterAutoscaler兼容性在 Kubernetes 平台中,Volcano 除了作为批量计算业务的调度器之外,也被越来越多的用作通用服务的调度器。Node 水平伸缩(ClusterAutoscaler)是Kubernetes 的核心功能之一,在面对用户业务量激增和节省运行成本方面发挥重要作用。Volcano 优化作业调度等相关逻辑,增强与 ClusterAutoscaler 的兼容互动能力,主要为以下两个方面:调度阶段进入 pipeline 状态的 pod 及时触发扩容候选节点分梯度打分,减少集群 terminating pod 对调度负载的影响,避免pod 进入无效 pipeline 状态,从而导致集群误扩容更多信息,请参考:https://github.com/volcano-sh/volcano/issues/3000https://github.com/volcano-sh/volcano/issues/2782精细化管理Node资源,增强韧性当节点中由于某种原因比如 device-plugin 上报信息异常,出现节点的某种资源总量小于已分配资源量时,Volcano 认为该节点数据不一致,会隔离节点,停止向该节点调度任何新的工作负载。在1.8版本中,对于节点资源进行精细化管理,比如:当节点的 GPU 总资源容量小于已分配资源量时,申请 GPU 资源的 pod 禁止再调度至该节点,申请非 GPU 资源的作业,将仍然允许正常向该节点调度。更多信息,请参考:https://github.com/volcano-sh/volcano/issues/2999▍优化Volcano charts包的发布与归档随着 Volcano 在用户越来越多的生产环境和云环境中使用,简洁标准的安装动作至关重要。自1.8版本开始,Volcano 优化 charts 包发布归档动作,标准化安装使用流程,并完成历史版本(v1.6、v1.7)向新 helm 仓库的迁移,使用方式如下:● 添加 Volcano charts 仓地址helm repo add volcano-sh https://volcano-sh.github.io/helm-chart● 查询所有可安装的 Volcano 版本helm search repo volcano -l● 安装最新版 Volcanohelm install volcano volcano-sh/volcano -n volcano-system --create-namespace● 安装指定版本 Volcano,比如:1.7.0helm install volcano volcano-sh/volcano -n volcano-system --create-namespace --version 1.7.0关于 Volcano charts 包的更多信息,请参考:https://github.com/volcano-sh/helm-charts▍致谢贡献者Volcano 1.8.0 版本包含了来自 31 位贡献者的数百次代码提交,在此对各位贡献者表示由衷的感谢:贡献者GitHub ID@shaobo76@william-wang@gengwg@kingeasternsun@Aakcht@waiterQ@Shoothzj@hwdef@halegreen@wulixuan@Monokaix@medicharlachiranjeevi@WulixuanS@rayoluo@lowang-bh@gj199575@noyoshi@Tongruizhe@jinzhejz@Cdayz@Mufengzhe@renwenlong-github@wangyang0616@jiamin13579@zbbkeepgoing@zhoumingcheng@z2Zhang@jiangkaihua@archlitchi@lixin963@xiao-jay@Yanping-io参考链接Release note: v1.8.0:https://github.com/volcano-sh/volcano/releases/tag/v1.8.0Branch:release-1.8:https://github.com/volcano-sh/volcano/tree/release-1.8深入Volcano了解Volcano 云原生批量计算项目主要用于 AI、大数据、基因、渲染等诸多高性能计算场景,对主流通用计算框架均有很好的支持。社区已吸引5.8万+全球开发者,并获得3.2k Star 和730+ Fork,参与贡献企业包括华为、AWS、百度、腾讯、京东、小红书、博云、第四范式等。目前,Volcano在人工智能、大数据、基因测序等海量数据计算和分析场景已得到快速应用,已完成对 Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、mxnet、KubeGene、Ray 等众多主流计算框架的支持,并构建起完善的上下游生态。Volcano社区技术交流地址Volcano官网:https://volcano.shGitHub: https://github.com/volcano-sh/volcano每周例会: https://zoom.us/j/91804791393添加社区小助手回复“Volcano”进入技术交流群
  • [热门活动] 一种基于云原生批量计算平台Volcano的工作流编排引擎JobFlow-华为云汪洋&博云梁兵-GOTC全球开源技术峰会
    大会介绍:5月27日-28日,GOTC 全球开源技术峰会((Global Open-source Technology Conference)在上海张江科学会堂成功举办。 GOTC是由上海浦东软件园、开放原子开源基金会、Linux 基金会亚太区和开源中国联合发起的,面向全球开发者的一场盛大开源技术盛宴。 本届大会以“Open Source, Into the Future”为主题,国际开源大咖、专家学者和产业代表齐聚一堂,超 1500 人现场参会, 540 万+人次线上直播观看,全网曝光量达3 亿+( 数据来源:CNCF),共同探讨开源未来,助力开源发展。议题分享:一种基于云原生批量计算平台Volcano的工作流编排引擎JobFlow讲师介绍:华为云高级软件工程师汪洋、博云PaaS产品线平台架构师梁兵议题简介:华为云高级软件工程师汪洋,博云PaaS产品线平台架构师梁兵联合分享了《一种基于云原生批量计算平台Volcano的工作流编排引擎JobFlow》。工作流编排引擎广泛应用于高性能计算、AI生物医药、图片处理、美颜、游戏AGI、科学计算等场景,帮助用户简洁化管理多个任务的并行与依赖关系,大幅度提升整体计算效率。Volcano通过JobFlow提供一种轻量化的工作流编排能力,专注于对多作业场景下的调度管理,实时查看作业及其任务的完成进度、执行状态,只要资源允许的场景下,自动下发后任务,大大提升了资源利用率、减少了人工成本和作业执行时间。点击视频观看本次分享精彩回放,添加小助手微信k8s2222回复Volcano,进入技术交流群video
  • [热门活动] 携程:基于Karmada的大规模多云容器平台实践,使能应用跨集群弹性伸缩—GOTC全球开源技术峰会
    大会介绍:5月27日-28日,GOTC 全球开源技术峰会((Global Open-source Technology Conference)在上海张江科学会堂成功举办。 GOTC是由上海浦东软件园、开放原子开源基金会、Linux 基金会亚太区和开源中国联合发起的,面向全球开发者的一场盛大开源技术盛宴。 本届大会以“Open Source, Into the Future”为主题,国际开源大咖、专家学者和产业代表齐聚一堂,超 1500 人现场参会, 540 万+人次线上直播观看,全网曝光量达3 亿+( 数据来源:CNCF),共同探讨开源未来,助力开源发展。议题分享:基于Karmada的大规模多云容器平台实践,使能应用跨集群弹性伸缩讲师介绍:携程资深云原生研发工程师李静雪议题简介:携程资深云原生研发工程师李静雪分享了携程基于Karmada的多集群HPA探索与实践。Karmada 是CNCF首个多云多集群容器编排项目。结合了华为云多云容器平台MCP以及Kubernetes Federation核心实践, Karmada提供了包括Kubernetes原生API支持、多层级高可用部署、多集群自动故障迁移、多集群应用自动伸缩、多集群服务发现、多调度组及自定义调度器等关键特性,并且提供原生Kubernetes平滑演进路径,让用户像使用单个集群一样轻松管理跨云多集群,让基于Karmada的多云方案无缝融入云原生技术生态。点击视频观看本次分享精彩回放,添加小助手微信k8s2222回复Karmada,进入技术交流群video
  • [热门活动] 华为云云原生团队王泽锋:不同角度谈开源及开源人才培养
    大会介绍:5月27日-28日,GOTC 全球开源技术峰会((Global Open-source Technology Conference)在上海张江科学会堂成功举办。 GOTC是由上海浦东软件园、开放原子开源基金会、Linux 基金会亚太区和开源中国联合发起的,面向全球开发者的一场盛大开源技术盛宴。 本届大会以“Open Source, Into the Future”为主题,国际开源大咖、专家学者和产业代表齐聚一堂,超 1500 人现场参会, 540 万+人次线上直播观看,全网曝光量达3 亿+( 数据来源:CNCF),共同探讨开源未来,助力开源发展。议题分享:不同角度谈开源及开源人才培养讲师介绍:华为云云原生开源负责人王泽锋议题简介:在“Linux 基金会开源教育及人才培养峰会”分会场,各界大咖从不同角度深入探讨了国内开源教育和人才培养的重要性和挑战。此外,基于华为云在 LFOSSU x 华为云云原生人才培养计划,华为云云原生王者之路训练营,Volcano云原生批量计算公开课,KubeEdge云原生边缘计算公开课等行业人才培养领域的杰出贡献,华为获评“2022年度优秀开源人才培养企业“称号。点击视频观看本次分享精彩回放,添加小助手微信k8s2222回复KubeEdge,进入技术交流群video
  • [热门活动] Istio Ambient Mesh Present and Future-华为云云原生团队徐中虎-GOTC全球开源技术峰会
    大会介绍:5月27日-28日,GOTC 全球开源技术峰会((Global Open-source Technology Conference)在上海张江科学会堂成功举办。 GOTC是由上海浦东软件园、开放原子开源基金会、Linux 基金会亚太区和开源中国联合发起的,面向全球开发者的一场盛大开源技术盛宴。 本届大会以“Open Source, Into the Future”为主题,国际开源大咖、专家学者和产业代表齐聚一堂,超 1500 人现场参会, 540 万+人次线上直播观看,全网曝光量达3 亿+( 数据来源:CNCF),共同探讨开源未来,助力开源发展。议题分享:Istio Ambient Mesh Present and Future讲师介绍:华为云云原生团队开源技术专家徐中虎议题简介:在“Cloud Native Summit”云原生分会场,华为云云原生团队开源技术专家, Google Open Source Peer Bonus获得者徐中虎介绍了当前 Istio 社区最热门的新技术Ambient Mesh, 并从功能、安全、资源开销等多方面与Sidecar模式对比,以辨证的角度分析Ambient Mesh对一些典型场景会非常有力,但它的发展距离生产可用,还有一段挺长的距离。点击视频观看本次分享精彩回放,添加小助手微信k8s2222回复Istio,进入技术交流群video