首页 > 其他分享 >使用 LifseaOS 体验 ACK 千节点分钟级扩容

使用 LifseaOS 体验 ACK 千节点分钟级扩容

时间:2023-04-06 18:39:24浏览次数:50  
标签:扩容 场景 LifseaOS ACK OS 节点

作者:阿里云 ACK 和操作系统团队

三年前的云栖大会上,LifseaOS 正式发布,这是一款专为云原生场景而垂直优化的操作系统发行版,即业界统称的 ContainerOS。初始发布时,它提供了如下几个突出的特性:轻量(Lightweight)、快速(Fast)、安全(Secure)、镜像原子管理(Atomic)

如今 LifseaOS 已在阿里云容器服务 ACK Pro 的托管节点池获得广泛使用,经过一年多的打磨优化,它在基于 Kubernetes 的云原生集群中正展现出越来越多的独特优势,本次所介绍的即为 LifseaOS 在扩容弹性上所展现出的极速优势。

两秒启动 OS,分钟级千节点扩容

在 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,实现了分钟级别的千节点扩容体验!!!

使用 LifseaOS 体验 ACK 千节点分钟级扩容_运维

降低 OS 运维负担,专为容器场景深度优化

在 ACK 节点池中使用 ContainerOS(基于 LifseaOS),相比传统的 Linux OS 而言,ContainerOS 为容器场景深度优化,具备更加安全、轻量、启动快速、不可变镜像等优点。

  • 轻量(Lightweight)

LifseaOS 默认集成 Containerd、Kubernetes 组件,仅仅保留 Kubernetes Pods 运行所需的系统服务与软件包,相比传统操作系统(Alibaba Cloud Linux 2/3、CentOS)软件包数量减少 60%,镜像大小减少 70%。

  • 快速(Fast)

LifseaOS 裁剪掉了大量云上场景无需的硬件驱动,必要的内核驱动模块修改为 built-in 模式,去除了 initramfs,udev 规则也被大大简化,大大提升了启动时间,OS 首次启动从传统 OS 的 1min 以上下降到了 2s 左右。

  • 安全(Secure)

LifseaOS 根文件系统为只读权限,只有 /etc 和 /var 目录可以满足基础的系统配置需求。去除了 sshd 服务与 python 支持,减少 sshd CVE 漏洞带来的威胁。同时将 OS 的常规运维 API 化,减少用户直接登录系统进行一些可能无法追溯的黑屏操作而带来的稳定性、安全性风险。不过,LifseaOS 仍然提供一个专用的运维容器用以登录系统,满足紧急的运维需求,运维容器需要通过 API 按需拉起,默认不开启。

  • 镜像原子管理(Atomic)

LifseaOS 不支持单个 rpm 包的安装、升级和卸载,通过 ostree 技术,将 OS 镜像版本化管理,更新操作系统上的软件包、或者固化的配置时,需要以整个镜像为粒度进行更新(或回滚),尽可能保证集群中各个节点的软件包版本与系统配置的一致性。

使用 LifseaOS 体验 ACK 千节点分钟级扩容_阿里云_02

ContainerOS 结合 ACK 托管节点池的自动化管理能力,包括节点快速 CVE 修复、节点自愈、镜像自动升级等,能够进一步降低用户在 OS 运维方面的管理负担,让用户更加关注上层应用。

开始体验 LifseaOS 吧

LifseaOS 是 Linux Base 操作系统,专门为容器场景而特别优化,与 ACK 的深度集成,用户可以开箱即用实现集群内快速的弹性扩容。

目前 LifseaOS 已在 ACK Pro 1.24.6 及以上版本集群的托管节点池中开放(产品形态即为下图中的 ContainerOS)。

使用 LifseaOS 体验 ACK 千节点分钟级扩容_硬件驱动_03

您可以前往 ACK 产品控制台创建基于 LifseaOS 的托管节点池,参考下图。现在开始玩转 LifseaOS 吧。

使用 LifseaOS 体验 ACK 千节点分钟级扩容_云原生_04

OpenAnolis 龙蜥社区已经成立了 ContainerOS 的特别兴趣小组,LifseaOS 相关代码也将贡献到龙蜥社区,敬请大家期待,更多信息请前往下方链接查看:<https://openanolis.cn/sig/container-os>

点击此处,即可查看阿里云容器服务 ACK 产品详情

标签:扩容,场景,LifseaOS,ACK,OS,节点
From: https://blog.51cto.com/u_13778063/6174014

相关文章

  • 使用 LifseaOS 体验 ACK 千节点分钟级扩容
    作者:阿里云ACK和操作系统团队三年前的云栖大会上,LifseaOS正式发布,这是一款专为云原生场景而垂直优化的操作系统发行版,即业界统称的ContainerOS。初始发布时,它提供了如下几个突出的特性:轻量(Lightweight)、快速(Fast)、安全(Secure)、镜像原子管理(Atomic)。如今LifseaOS已在阿......
  • docker启动报错the backing xfs filesystem is formatted without d_type support
    WARNING:overlay2:thebackingxfsfilesystemisformattedwithoutd_typesupport,whichleadstoincorrectbehavior.Reformatthefilesystemwithftype=1toenabled_typesupport.Runningwithoutd_typesupportwillnotbesupportedinfu......
  • 两两交换节点位置:递归法、迭代法和数组转换法
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=......
  • 48、K8S-调度机制-污点、容忍度调度之节点的Traint、Pod的tolerations
    Kubernetes学习目录1、基础知识1.1、回顾我们之前所学的所有调度策略,都是基于节点调度和pod调度选择我们新的pod资源应该如何创建,而实际的生产角度上,往往会出现基于node节点的属性来选择是否让新的pod资源进行创建,但是对于节点来说,没有所谓的节点反亲和性,但是有一种类似的策略......
  • node节点是什么,有哪些神操作
    1.node节点(更详细的获取(设置)页面中所有的内容)根据W3C的HTMLDOM标准,HTML文档中的所有内容都是节点:元素是节点的别称,节点包含元素当然节点还有好多细化的种类;有元素节点、属性节点、文本节点.......节点的关系从这里真正的体现出来根节点:root>>>>HTML没有父节点;......
  • node节点是什么,有哪些神操作
    1.node节点(更详细的获取(设置)页面中所有的内容)根据W3C的HTMLDOM标准,HTML文档中的所有内容都是节点:元素是节点的别称,节点包含元素当然节点还有好多细化的种类;有元素节点、属性节点、文本节点.......节点的关系从这里真正的体现出来根节点:root>>>>HTML没有父节点;节点操作:(......
  • 数据重塑图解Pivot, Pivot-Table, Stack and Unstack
    行转列,列转行 [pandas学习笔记3—数据重塑图解Pivot,Pivot-Table,StackandUnstack_Lavi_qq_2910138025的博客-CSDN博客](https://blog.csdn.net/liuweiyuxiang/article/details/78220530)文章目录数据重塑图解—Pivot,Pivot-Table,StackandUnstack引言Pivot常......
  • js用前缀名查找class或id节点,js模糊查询某个dom节点
    js在操作dom的场景中,有时候会有类似的场景需求。js用前缀名查找class节点//参数dom为htmldom节点//参数key为需模糊查询的名称字段functionqueryClassNode(dom,key){letcollectArray=[];for(vari=0;i<dom.childNodes.length;i++){ //核心点......
  • 项目打包优化-HardSourceWebpackPlugin
    项目优化的方法HardSourceWebpackPlugin是一个插件,安装的方式npmihard-source-webpack-plugin引入文件,进行config文件的配置进行文件的热加载的,一个项目启动或者打包的时间,超过40s的时候,可以进行项目的优化和热加载。文件的加载,首先hard-source-webpack-plugin会进行文......
  • 45、K8S-调度机制-节点调度之nodeAffinity、nodeName、nodeSelector
    Kubernetes学习目录1、配置解析1.1、简介我们知道,默认的调度策略有可能无法满足我们的需求,我们可以根据实际情况,定制自己的调度策略,然后整合到k8s的集群中。1.2、属性解析apiVersion:kubescheduler.config.k8s.io/v1beta1kind:KubeSchedulerConfigurationAlgorithmSou......