作者:溪洋
在云原生浪潮的推动下,容器和 Kubernetes 技术和应用发展迅猛。最近,云原生计算基金会 CNCF 发布了与 SlashData 联手撰写的 最新版《云原生开发现状报告》,该报告显示,“Kubernetes 在过去的 12 个月取得了令人瞩目的增长——今天,全球共有 560 万开发人员在使用 Kubernetes。对于那些拥有 500 多名员工的大型组织而言,Kubernetes 和容器的采用率猛增,这意味着 Kubernetes 已经完全满足企业的需求。很多时候,开发人员甚至在没有意识到 Kubernetes 的情况下就在使用它。”
云原生已经成为数字经济技术的创新基石,与此同时,容器正在成为企业使用云的新界面,为企业的计算基础设施、应用架构、组织文化和研发流程带来新一轮变革。最近,阿里云容器服务团队几位核心成员在一次访谈中,分享了他们对企业级容器应用市场的变化和 2022 年容器技术重点发展方向的趋势观察。本文希望结合 2021 年阿里云云原生容器服务的重点事件,帮助大家梳理云原生容器领域的核心发展脉络,把握技术趋势走向。
2021 年 9 月,阿里云容器服务宣布全面升级为 ACK Anywhere,并发布 ACK 发行版、ACK 敏捷版、ACK ONE 分布式云容器平台;以及面向异构计算支撑、资源调度、网络、云原生 AI、智能化运维、云原生制品分发等六大方向的优化升级。升级后的 ACK Anywhere 拥有“一致体验、弹性算力、能力下沉、简化容灾”四大核心能力,使企业在任何业务场景下使用容器服务时,都能实现统一集群管理、统一资源调度、统一数据容灾和统一应用交付。
随着企业对容器的拥抱更加积极,对容器核心技术的启动效率、资源开销、调度效率都有了更高的要求,阿里云容器团队也支持了新一代的容器架构升级,通过对容器、裸金属、操作系统等全栈优化,持续挖掘容器的潜能。
高效调度:全新升级 Cybernetes 调度器,支持对多架构神龙的 NUMA 负载感知、拓扑调度和细粒度的资源隔离和混部,提升应用性能 30%。此外,在调度器上做了大量端到端优化,在 1000 节点规模集群中,可以提供 20000Pods/min 以上的调度速度,确保在线服务和离线任务都能高效地运行在 Kubernetes 上;
高性能容器网络:最新一代的阿里云容器网络 Terway 3.0,一方面通过神龙芯片 offload 虚拟化网络开销,一方面在 OS 内核中通过 eBPF 实现容器 Service 转发和网络策略,真正实现零损耗,高性能。
容器优化 OS:面向容器场景,推出轻量、快速、安全、镜像原子管理的容器优化操作系统 LifseaOS,相比传统操作系统软件包数量减少 60%,镜像大小减少 70%,OS 首次启动从传统 OS 的 1min 以上下降到了 2s 左右。支持镜像只读和 ostree 技术,将 OS 镜像版本化管理,更新操作系统上的软件包、或者固化的配置时,以整个镜像为粒度进行更新。
高密部署极致弹性:基于阿里云安全沙箱容器 2.0,优化沙箱容器内的资源开销,最小可达 30M 左右,实现了在单一物理机上的 2000 实例的高密服务能力。同时通过管控链路的缩短以及组件的精简,并辅以对沙箱内存分配流程、host cgroup 管理流程和 IO 链路的优化,实现了 Serverless 场景的 6 秒 3000 弹性容器实例的弹性能力。
4 月,Gartner 发布 2021 年容器竞争格局报告,阿里云成为国内唯一连续三年入选的中国企业,产品丰富度与成熟度持续保持全球领先水平。与往年相比,在 Kubernetes 支持、容器镜像、Serverless 容器、服务网格等传统维度基础上,本次报告新增了集群部署形态和管控平面两个维度,阿里云容器产品再次获得国际高度认可。
5月,在 2021 云原生产业大会中,阿里云容器服务 ACK/Serverless Kubernetes (ASK + ECI)、阿里云服务网格 ASM 解决方案被中国信通院评为 2021 年度云原生技术创新解决方案/产品。
6 月,阿里云边缘容器服务 ACK@Edge 通过信通院 33 项测评,获得“2021 云边协同能力认证”,基于 ACK@Edge 实现的申通快递 IoT 云边端架构,入选“2021 分布式云与云边协同十佳实践案例”。
7 月,在 2021 年可信云大会中,中国信通院公布了多项可信云认证的评估结果。其中申通基于阿里云边缘容器 ACK@Edge 的 IoT 云边端架构获可信云用户最佳实践(申通-阿里云边缘容器),包括 Serverless 容器服务 ASK 在内的无服务器架构、阿里云服务网格 ASM 获得专项首批先进级认证。
8 月,容器服务 ACK 作为阿里云上最优的容器执行环境、容器镜像服务 ACR 作为最优的容器应用分发基础设施,通过高效稳定、极致弹性、安全智能等能力的输出 ,推动国际赛事以云原生的方式加速向数字化演进发展。
11 月,统一调度技术成功支持 2021 年双 11 大促,实现了从容器调度到快上快下全流程的全面升级和优化,帮助阿里双 11 大促成本降低 50%,生产环境常态化 CPU 利用率 65%。
12 月,阿里云边缘云原生一体机通过信通院 67 项测评,获得“边缘一体机能力要求认证”。
1 月,OpenYurt 凭借业界首个开源非侵入式边缘计算云原生平台的技术优势,入选边缘计算社区评选的“ 2020 年边缘计算领域十大热门开源项目”。
3 月,阿里云与 GitHub 联合发布了快速部署至阿里云 ACK 的 GitHub Action Workflow。开发者无需自建部署维护 CI/CD 工具,基于开箱即用的 GitHub Action 及阿里云部署模板,即可实现 GitHub 代码变更后,自动应用打包构建上传阿里云容器镜像服务 ACR、快速部署至阿里云容器服务 ACK 的流程。
4 月,由阿里云容器团队与南京大学、Alluxio 社区联合开源的开源的云原生数据编排和加速系统 Fluid 正式进入 CNCF Sandbox;9月,该项目在由中国信息通信研究院、中国通信标准化协会联合主办的“2021 OSCAR 开源产业大会”上荣获“ OSCAR 尖峰开源项目和开源社区”奖。
5 月,在2021 阿里云开发者大会“云原生技术与最佳实践”论坛现场,阿里云容器服务负责人易立、VMware 中国研发中心研发总监路广联合宣布达成双方在“云原生边缘计算”领域的技术战略合作,希望未来依托开源社区力量,加速边缘云原生生态系统的构建,共同推动云边融合进程,帮助更多企业全面拥抱数智化转型升级。
8 月,阿里云云原生团队联合 Linux 开源软件学园在 GOTC 2021 “云原生人才发展”分论坛联合发布“阿里云云原生人才计划 2.0”,打造面向 CKA、ACA 专业人才双认证能力的课程体系,推动业界培养云原生和 Kubernetes 专业人才。
9 月,由阿里云操作系统安全团队和云原生容器平台团队共同发起的开源项目 Inclavare Containers 进入 CNCF Sandbox,这是业界首个面向机密计算场景的开源容器运行时项目。
11 月,距离正式宣布开源仅 3 个多月后,由来自阿里云容器团队、蚂蚁金服和红帽的工程师共同发起并开源的多集群管理平台 OpenClusterManagement(OCM)项目正式进入 CNCF Sandbox。
随着 5G、IoT、音视频、直播、CDN 等行业和业务的发展,我们看到一个行业现象:企业开始将更多的算力和业务下沉到距离数据源或者终端用户更近的地方,从而来获得很好的响应时间和降低成本。CNCF 最新发布的《云原生开发现状报告》显示,在边缘开发人员当中,Kubernetes 的采用率增加了 11 个百分点,达到 63%。边缘开发人员使用容器的比例为 76%。
这明显区别传统的中心式的云计算模式 -- 边缘计算。边缘计算作为云计算的延伸,将被广泛应用于混合云/分布式云、IoT 等场景,它需要未来的基础设施能够去中心化、边缘设施自治、以及强大的边缘云端托管能力。云原生架构的新边界 -- “云边端一体“的IT基础设施开始出现在整个行业面前,而这也是企业对云原生技术、容器化应用在新场景落地的需求。
边缘计算云原生架构和技术体系需要解决以下问题:云边运维协同、弹性协同、网络协同、边缘 IoT 设备管理、轻量化、成本优化等。针对云边端一体的新需求,在 2021 年,OpenYurt(CNCF Sandbox 项目)也发布了 0.4、0.5 等版本,持续优化边缘容器的 IoT 设备管理、资源开销、网络协同等能力。
随着企进一步的大规模使用容器,企业内部使用容器的范围也从开始的在线业务逐渐向 AI 大数据演进,对 GPU 等异构资源的管理和 AI 任务和作业的管理的需求也越来越多。同时,开发人员在考虑如何通过云原生技术,以统一架构、统一技术堆栈支撑更多类型的工作负载。以避免不同负载,使用不同架构和技术,带来“烟囱”系统、重复投入和运维负担。
在阿里云,我们提出“云原生 AI”的定义、技术全景图和参考架构,以期为这个全新技术领域,提供可落地的最佳实践,并推出了云原生 AI 套件,通过数据计算类任务的编排、管理,以及对各种异构计算资源的容器化统一调度和运维,显著提高 GPU/NPU 等异构计算集群的资源使用效率和 AI 工程交付速度。
针对 AI 计算类任务的特性,在 Kubernetes 核心 Scheduler Framework 的基础上进行了大量扩展和增强,提供了支持 Gang Scheduling、Capacity Scheduling、Binpack 等任务调度策略,提升集群的资源利用率。并与 Kubernetes 社区积极合作,持续推动 Kubernetes 调度器框架演进,保证了 Kubernetes 调度器通过标准的 plugin 机制,可按需扩展出各种调度策略,来满足各种工作负载的调度需求。同时避免了类似其他 custom scheduler 对集群资源分配带来数据不一致的风险。
支持 GPU 共享调度和拓扑感知调度,NPU/FPGA 等定制芯片调度,提升 AI 任务的资源利用率,同时通过阿里云自研 cGPU 方案,在无需修改应用容器的前提下,提供了 GPU 显存和算力的隔离。
在计算和存储分离的大背景驱动下,基于 Fluid 提供一层高效便捷的数据抽象,将数据从存储抽象出来,通过数据亲和性调度和分布式缓存引擎加速,实现数据和计算之间的融合,从而加速计算对数据的访问。并支持以 Alluxio 和 JIndoFS 为缓存引擎。
支持 GPU 等异构资源的弹性伸缩,通过智能的削峰填谷,避免不必要的云上资源消费。同时支持弹性模型训练和模型推理。
随着企业的 Kubernetes 应用大规模使用和落地,如何持续提升 Kubernetes 集群的整体稳定性是核心挑战。然后 Kubernetes 集群作为一个分布式系统存在高度复杂性,在应用、基础设施、部署过程中任何一个地方的问题,都可能导致业务系统的故障。这不仅需要应用 Kubernetes 的企业有对云原生容器技术的高可用体系保障,还需要企业云原生运维体系理念的整体升级。
以 SLO 定义驱动可观测性体系:针对 Kubernetes 的容量规模建设了性能压测常态化能力,必须对 Kubernetes 集群之上的业务场景能够对包括节点数、POD 数、Job 数,核心 Verb 的 QPS 数有明确了解。结合业务的真实场景进行 SLO 的梳理,持续关注请求量,延迟、错误数、饱和度等黄金指标。
常态化的故障演练和混沌测试:比如结合混沌工程理念的 ChaosBlade,正对容器集群的不同风险动作,注入不同的异常案例,从 VM、Kubernetes、网络、存储到应用的全方面故障模拟。
精细化的流控风控:针对压测和故障演练过程中发现的异常进行防护能力建设,可以借助 Kubernetes 在 1.20 beta 了 API 优先级和公平性的细粒度流控策略。阿里云容器服务也内置了自研的 UserAgent Limiter 进一步保障 Kubernetes。
除了全局高可用能力的建设外,需要能够有 SRE 团队平台化能力的建设:
打造统一的 Kubernetes 运维服务界面,沉淀运维和可观测能力,让每个 SRE/DEV 能够无差别的 OnCAll 或支持,有 2 个子目标:1)尽量避免发生问题;2)尽快发现和定位问题,以及尽快恢复问题,建设全局高可用应急体系。
重实践和演练:基于场景进行实践,知行合一。从知触发,到行完成是一个闭环,然后不断通过知行的一个循环过程。以赛带练,比如双十一大促,限电,断网等极端场景,稳定性建设,需要针对极端场景进行,容量的规划和压测,组件治理等都是需要一些特殊的场景催生。有了赛场,要打好这场仗,就需要通力协作,就会不断形成一个大的协同协作机制。
2021 年,基于 Kubernetes 来屏蔽异构环境的差异,搭建分布式云架构已经成为企业和云厂商的共识。2021 年 5 月的云峰会上,阿里云发布了一云多形态的部署方式,基于飞天架构的一朵云可以全面覆盖从核心地域到客户数据中心的各种计算场景,为客户提供低成本、低延迟、本地化的公共云产品。在一云多形态发布之前,阿里云容器服务在 2019 年的云栖大会上发布了云下 Kubernetes 的注册集群能力,支持统一纳管云上云下的不同 Kubernetes 集群。
今年,阿里云容器服务进一步全面升级了中心云、本地云、边缘云容器集群的统一管理。能够将成熟的云上原生可观测、安全防护能力部署到用户环境,更可以将云端先进的中间件、数据分析和 AI 能力下沉到本地,满足客户对于产品丰富度以及数据管控的需求,加速业务创新。并依托强大的弹性算力,通过托管弹性节点,企业可以按需从本地扩容到云端,实现秒级伸缩,从容应对周期性或突发业务流量高峰。
数据中心作为数字经济的动力引擎,其能耗增长已成为云计算发展中不可忽略的问题。据报道,2020 年数据中心耗电量超过国内总用电量的 2.3%。而且占比将逐年增加。阿里云在身体力行地推动绿色计算,比如利用浸没式液冷服务器来降低数据中心 PUE。除此之外,我们看到数据中心的计算效率也有很大提升空间,据统计,全球数据中心的平均资源利用率不到 20%,这是巨大资源和能源浪费。
持续发挥容器技术的高效调度和弹性能力,可以帮助企业有效提升整体的 IT 资源利用率,提供极致的能效比。结合最新的节能数据中心技术、新一代神龙架构、自研芯片、容器优化操作系统实现上下游的全栈优化,提升应用的整体性能和调度效率。以数据驱动的方式,根据应用运行时资源画像实现智能化调度和实时调整,简化了应用资源配置的复杂性,进一步提升应用的混合部署,降低资源成本,助力企业整体的 FinOps 管理。
Gartner 预测,到 2023 年,70% 的 AI 应用将基于容器和 Serverless 等计算模型构建。AI 要成为企业生产力,就必须以工程化的技术来解决模型开发、部署、管理、预测、推理等全链路生命周期管理的问题。我们发现,AI 工程化领域有三大亟待推进的事情:数据和算力的云原生化,调度和编程范式的规模化,开发和服务的标准化普惠化。这些需要持续优化 GPU 等异构架构的高效调度,结合分布式缓存、分布式数据集加速等技术,结合 Kubeflow Arena 的 AI 任务流水线和生命周期管理,全面升级 AI 工程化能力。
云原生已经成为势不可挡的技术趋势。Gartner 预测到 2025 年,95% 数字化运维将通过云原生平台进行支撑。实现容器集群能自治能力将成为重点发展方向之一 ,通过引入更多的数据化智能化手段,推动容器的智能化运维体系,降低企业对复杂容器集群和应用的管理,包括增强 Kubernetes master、组件和节点的自愈自恢复能力,提供更加友好的异常诊断、Kubernetes 配置推荐、弹性预测等能力。
容器安全合规问题还将持续受到关注,需要全面推进 DevOps 向 DevSecOps 演进,在容器软件供应链中,对安全风险进行自动化分析、修复和阻断。比如面向 Helm、Operator 等 OCI Artifacts 优化整体的安全定义、签名、同步和三方交付;加固容器的南北向和东西向的网络隔离和治理,推进零信任的链路安全;进一步提升安全容器和机密计算容器的性能和可观测能力。
点击此处,即可查看容器服务 ACK 产品详情!