技术盘点:容器技术的演进路线是什么?未来有哪些想象空间?
作者:志敏,徙远
回顾2021年,云原生领域有哪些重要意义的事件?
1. 基于容器的分布式云管理加速落地:
2021年5月阿里云峰会上,阿里云发布了一云多形态的部署方式,基于飞天架构的一朵云可以全面覆盖从核心地域到客户数据中心的各种计算场景,为客户提供低成本、低延迟、本地化的公共云产品。
在一云多形态发布之前,阿里云容器服务在 2019 年云栖大会上发布了云下Kubernetes 注册集群能力,支持统一纳管云上云下不同 Kubernetes 集群。2021年,阿里云容器服务进一步全面升级了中心云、本地云、边缘云容器集群的统一管理,能够将成熟的云原生可观测、安全防护能力部署到用户环境,更可以将云端先进的中间件、数据分析和 AI 能力下沉到本地,满足客户对于产品丰富度以及数据管控的需求,加速业务创新。并依托强大的弹性算力,通过托管弹性节点,企业可以按需从本地扩容到云端,实现秒级伸缩,从容应对周期性或突发业务流量高峰。
截至 2021 年,基于 Kubernetes 来屏蔽异构环境的差异,搭建分布式云架构已经成为企业和云厂商的共识。
2. Knative1.0正式发布:
Knative 作为一款基于 Kubernetes 之上的开源 Serverless 编排框架,提供面向 Kubernetes 标准化 API 进行 Serverless 应用编排能力。Knative 支持诸多特性:基于流量的自动弹性、灰度发布、多版本管理、缩容到0、事件驱动 Eventing等。根据 CNCF 2020 中国云原生调查报告,Knative 已经成为 Kubernetes 上安装 Serverless 的首选。
2021 年 11 月,Knative 发布了 1.0 版本,同月 Google 宣布将 Knative 捐赠给云原生计算基金会 (CNCF)。阿里云提供了 Knative 的托管,并结合阿里云基础设施提供了比如冷启动优化、基于预测的智能弹性等增强,实现了社区标准和云服务优势的深度整合。
2021年容器技术取得了哪些突破?背后是解决什么问题?
在2021年,企业对容器的拥抱更加积极,对容器核心技术的启动效率、资源开销、调度效率都有了更高的要求,阿里云容器团队也支持了新一代的容器架构升级,通过对容器、裸金属、操作系统等全栈优化,持续挖掘容器的潜能。
高效调度: 全新升级 Cybernetes 调度器,支持对多架构神龙的 NUMA 负载感知、拓扑调度和细粒度的资源隔离和混部,提升应用性能30%。此外,在调度器上做了大量端到端优化,在1000节点规模集群中,可以提供20000Pods/min以上的调度速度,确保在线服务和离线任务都能高效地运行在 K8s 上;
高性能容器网络: 最新一代的阿里云容器网络 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 弹性容器实例的弹性能力。
企业对容器的应用规模呈现什么趋势?核心诉求点是什么?
随着企业进一步的大规模使用容器,企业内部使用容器的范围也从开始的在线业务逐渐向 AI 大数据演进,对 GPU 等异构资源的管理和 AI 任务和作业管理的需求也越来越多。同时,开发人员在考虑如何通过云原生技术,以统一架构、统一技术堆栈支撑更多类型的工作负载,以避免不同负载,使用不同架构和技术,带来“烟囱”系统、重复投入和运维负担。
深度学习、AI任务,正是社区寻求云原生技术支撑的重要工作负载之一。 在阿里云,我们提出“云原生AI”的定义、技术全景图和参考架构,以期为这个全新技术领域,提供可落地的最佳实践,并推出了云原生 AI 套件,通过数据计算类任务的编排、管理,以及对各种异构计算资源的容器化统一调度和运维,显著提高 GPU/NPU 等异构计算集群的资源使用效率和 AI 工程交付速度。
针对 AI 计算类任务的特性,在 Kubernetes 核心 Scheduler Framework 的基础上进行了大量扩展和增强,提供了支持 Gang Scheduling、Capacity Scheduling、Binpack 等任务调度策略,提升集群的资源利用率。并与 K8s 社区积极合作,持续推动 K8s 调度器框架演进,保证了 K8s 调度器通过标准的 plugin 机制,可按需扩展出各种调度策略,来满足各种工作负载的调度需求。同时避免了类似其他 custom scheduler 对集群资源分配带来数据不一致的风险。
支持 GPU 共享调度和拓扑感知调度,NPU/FPGA 等定制芯片调度,提升 AI 任务的资源利用率,同时通过阿里云自研 cGPU 方案,在无需修改应用容器的前提下,提供了 GPU 显存和算力的隔离。
在计算和存储分离的大背景驱动下,基于 Fluid 提供一层高效便捷的数据抽象,将数据从存储抽象出来,通过数据亲和性调度和分布式缓存引擎加速,实现数据和计算之间的融合,从而加速计算对数据的访问。并支持以 Alluxio 和 JindoFS 为缓存引擎。
支持 GPU 等异构资源的弹性伸缩,通过智能的削峰填谷,避免不必要的云上资源消费。同时支持弹性模型训练和模型推理。
企业对容器的应用提出了哪些新的需求?
随着5G、IoT、音视频、直播、CDN 等行业和业务的发展,我们看到一个行业趋势:企业开始将更多的算力和业务下沉到距离数据源或者终端用户更近的地方,从而来获得很好的响应时间和降低成本。
这明显区别传统的中心式的云计算模式,从而延伸出边缘计算。边缘计算作为云计算的延伸,将被广泛应用于混合云/分布式云、IoT 等场景,它需要未来的基础设施能够去中心化、边缘设施自治、以及强大的边缘云端托管能力。云原生架构的新边界——“云边端一体“的IT基础设施开始出现在整个行业面前,而这也是企业对云原生技术、容器化应用在新场景落地的需求。
边缘计算云原生架构和技术体系需要解决以下问题:云边运维协同、弹性协同、网络协同、边缘IoT设备管理、轻量化、成本优化等。针对云边端一体的新需求,在2021年,OpenYurt 社区(CNCF Sandbox项目)也发布了 0.4、0.5 等版本,持续优化边缘容器的 IoT 设备管理、资源开销、网络协同等能力。
从技术维度看,容器发展亟待解决的主要问题是什么?
随着企业的 K8s 应用大规模使用和落地,如何持续提升 K8s 集群的整体稳定性是核心挑战。K8s 集群作为一个分布式系统存在高度复杂性,在应用、基础设施、部署过程中任何一个地方的问题,都可能导致业务系统的故障。这不仅需要应用 K8s 的企业有对云原生容器技术的高可用体系保障,还需要企业云原生运维体系理念的整体升级。
以 SLO 定义驱动可观测性体系: 针对 K8s 的容量规模建设了性能压测常态化能力,必须对 K8s 集群之上的业务场景能够对包括节点数、POD 数、Job 数,核心 Verb 的 QPS 数有明确了解。结合业务的真实场景进行 SLO 的梳理,持续关注请求量,延迟、错误数、饱和度等黄金指标。
常态化的故障演练和混沌测试: 比如结合混沌工程理念的 ChaosBlade,对容器集群的不同风险动作,注入不同的异常案例,从VM、K8s、网络、存储到应用的全方面故障模拟。
精细化的流控风控: 针对压测和故障演练过程中发现的异常进行防护能力建设,可以借助 Kubernetes 在1.20 beta了 API 优先级和公平性的细粒度流控策略。阿里云容器服务也内置了自研的 UserAgentLimiter 进一步保障 K8s。
除了全局高可用能力的建设外,需要有SRE团队平台化能力的建设:
打造统一的K8s运维服务界面,沉淀运维和可观测能力,让每个 SRE/DEV 能够无差别的OnCAll 或支持,有 2 个子目标:1)尽量避免发生问题;2)尽快发现和定位问题,以及尽快恢复问题,建设全局高可用应急体系。
重实践和演练: 基于场景进行实践,知行合一。从知触发,到行完成是一个闭环,然后不断通过知行的一个循环过程。以赛带练,比如双十一大促,限电,断网等极端场景,稳定性建设,需要针对极端场景进行,容量的规划和压测,组件治理等都是需要一些特殊的场景催生。有了赛场,要打好这场仗,就需要通力协作,就会不断形成一个大的协同协作机制。
固化知识,沉淀 playbook: 这件事是要打造标准,在做标准的过程中,有的先一步落到系统里面,有的沉淀到 playbook 里面,有的体现到流程里面,流程一定是我们优秀工程师和SRE的最佳实践。系统、playbook、流程都是不断转化的,相辅相成的。
容器技术在2022年的发力点是什么?容器的未来有哪些想象空间?
日前,国际权威咨询机构 Forrester 发布全球容器能力报告《 The Forrester WaveTM: PublicCloud Container Platforms, Q1 2022 》,报告显示,阿里云是国内唯一进入该报告“领导者”象限的服务商,且容器产品综合能力评分最高。
阿里云容器技术在2022年会重点关注几个方向:
绿色低碳: 持续发挥容器技术的高效调度和弹性能力,帮助企业提升整体的IT效率。结合最新的节能数据中心技术、新一代神龙架构、自研芯片、容器优化操作系统实现上下游的全栈优化,提升应用的整体性能和调度效率。以数据驱动的方式,根据应用运行时资源画像实现智能化调度和实时调整,简化应用资源配置的复杂性,进一步提升应用的混合部署,降低资源成本,助力企业整体 的 FinOps 管理。
AI 工程化: AI 要成为企业生产力,就必须以工程化的技术来解决模型开发、部署、管理、预测、推理等全链路生命周期管理的问题。我们发现,AI 工程化领域有三大亟待推进的事情:数据和算力的云原生化,调度和编程范式的规模化,开发和服务的标准化普惠化。 这些需要持续优化 GPU 等异构架构的高效调度,结合分布式缓存、分布式数据集加速等技术,结合 KubeflowArena 的AI任务流水线和生命周期管理,全面升级AI工程化能力。
智能自治: 通过引入更多的数据化智能化手段,推动容器的智能化运维体系,降低企业对复杂容器集群和应用的管理,增强 K8s master、组件和节点的自愈自恢复能力,提供更加友好的异常诊断、K8s 配置推荐、弹性预测等能力.
安全合规: 全面推进 DevOps 向 DevSecOps 演进。面向 Helm、Operator 等 OCI Artifacts 优化整体的安全定义、签名、同步和三方交付;加固容器的南北向和东西向的网络隔离和治理,推进零信任的链路安全;进一步提升安全容器和机密计算容器的性能和可观测能力。
点击此处,进入阿里云 ACK Anywhere 官网。