在 2021 年 10 月的云栖大会上,LifseaOS 正式发布,这是一款专为云原生场景而垂直优化的操作系统发行版,即业界统称的 ContainerOS。初始发布时,它提供了如下几个突出的特性:轻量(Lightweight)、快速(Fast)、安全(Secure)、镜像原子管理(Atomic)。如今 LifseaOS 已在阿里云容器服务 ACK Pro 的托管节点池获得广泛使用,经过一年多的打磨优化,它在基于 Kubernetes 的云原生集群中正展现出越来越多的独特优势,本次所介绍的即为 LifseaOS 在扩容弹性上所展现出的极速优势。
在 ACK 中节点扩容是一项基础且关键的能力,所有用户都重度依赖。在集群资源池紧张或者不足时,快速扩容节点,恢复资源水位对用户业务至关重要。在节点自动伸缩场景,ACK 通过组件轮询判断集群内资源是否充足,一旦出现不足则自动触发扩容节点。如果在这种情况下,节点扩容速度慢,则会严重影响自动伸缩效果,甚至因为资源水位长期不足而影响用户业务。目前的节点扩容速度在 ACK 节点自动伸缩端到端耗时中占比超过 90%,可以说节点扩容速度的优化的程度决定了自动伸缩体验。以某量化公司的扩容场景为例,在其长期提供服务的过程中,经过了上千次百节点级别的扩容活动,平均每次扩容 P90 节点就绪耗时(即单次扩容活动开始至90%的节点处于就绪状态)为 162s,耗时较长。若能将扩容活动耗时压缩至 1min 以内,将大幅提高用户在节点扩容场景中的体验。
基于此,LifseaOS 针对 ACK 集群节点池的弹性扩容场景,实现了极速扩容的特性。一方面,LifseaOS 通过简化 OS 本身的启动流程大大提高了 OS 启动速度。它裁剪掉了大量云上场景无需的硬件驱动,必要的内核驱动模块修改为 built-in 模式,去除了 initramfs,udev 规则也被大大简化,OS 首次启动时间从传统 OS 的 1min 以上下降到了 2s 左右。另一方面,LifseaOS 结合 ACK 场景进行了定制优化。它通过预置集群管控必备组件的容器镜像以减少节点启动过程中因镜像拉取而带来的耗时,并结合ACK管控链路优化(例如调节关键逻辑的检测频率、调整高负载下系统瓶颈中的限流值等),极大地提高了节点扩容速度。
LifseaOS 在节点弹性扩容场景上,相比于传统 OS 方案有非常大的优势,且并发启动的节点数目越多,LifseaOS 的优势越明显!如下图所示,并发启动1000个节点时,P90 节点就绪时间 CentOS 为 380s,而 LifseaOS 仅需 53s,实现了分钟级别的千节点扩容体验!!!
通过与 ACK 的深度集成,用户可以开箱即用实现集群内快速的弹性扩容。目前 LifseaOS 已在 ACK Pro 1.24.6 及以上版本集群的托管节点池中开放(产品形态即为下图中的 ContainerOS),您可以前往ACK 产品控制台创建基于 LifseaOS 的托管节点池,参考下图。现在开始玩转 LifseaOS 吧。
注:本文来自 ACK & OS 团队,即阿里云 ACK 和操作系统团队。
—— 完 ——