ContainerOS概述

更新时间: 2025-07-10 15:09:11

ContainerOS 是阿里云专为容器场景优化的官方操作系统,完全兼容 Kubernetes 生态。基于 Alibaba Cloud Linux 3,ContainerOS 提供更高的安全性、更快的启动速度以及精简的系统服务和软件包,默认集成云原生组件,开箱即用。

适用范围

  • 适用于ACK托管集群节点池,集群版本为1.24及以上,且容器运行时为containerd,请参见创建ACK托管集群。如需升级集群,请参见手动升级集群

  • 不适用于GPU节点和Arm架构的节点。

ContainerOS介绍

在容器化部署场景下,使用云原生组件(如容器运行时、Kubernetes),您可以更专注于应用开发,而无需过多关注底层基础设施的细节。传统操作系统为适应多种使用场景,包含了大量用户态工具、软件包和系统服务,导致系统臃肿、启动缓慢,且软件包种类繁多、版本分散,给运维工作带来极大挑战。

为解决传统操作系统在云原生场景中的适配问题,提升使用体验,ACK专为容器场景设计了操作系统 ContainerOS。相比之下,ContainerOS 更加轻量、模块化,启动和运行容器的速度更快。同时,它具备更高的安全性和更低的资源需求,适用于云计算和大规模部署场景。

功能特性

特性

说明

镜像精简

只包含Kubernetes Pod运行所依赖的软件包和系统服务,通过全系统整合优化,可大大缩短系统启动时间。ContainerOS的系统软件包数量约210个;而传统操作系统(例如Alibaba Cloud Linux3、Alibaba Cloud Linux 2、CentOS等)默认预装的软件包数量约为600个。

  • 减少系统占用空间:ContainerOS软件包数量精简了60%以上,大幅降低了系统占用的存储空间。

  • 减少CVE漏洞:更少的软件包意味着更少的CVE漏洞,大大减少了整个系统的攻击面。

此外,ContainerOS不提供Python支持,也不直接提供SSH登录功能。您可以专注于业务的开发和运行,无需关心操作系统层面的问题。

极速启动

通过全链路优化,显著提升了 OS 启动速度,并缩短了 ACK 链路中的节点扩容时间。通过简化 OS 启动流程,预置集群管控所需组件的容器镜像,减少了节点启动时因镜像拉取产生的延迟。结合 ACK 管控链路优化,进一步加快了节点扩容速度。

以下图为例,ContainerOS千节点扩容P90节点就绪时间仅为53s。相较于CentOS、Alibaba Cloud Linux 2自定义镜像优化方案,ContainerOS优势更为明显。更多信息,请参见使用ContainerOS实现节点极速扩容

image
重要

本示例中提供的数据仅为理论值,实际数据可能会因产品功能优化略有偏差,请以您的操作环境为准。

安全加固

根文件系统为只读权限,仅/etc/var目录可写,以满足基础的系统配置需求。这一设计不仅符合云原生场景中的不可变基础设施原则,还能有效防止逃逸容器篡改主机文件系统。同时,ContainerOS禁止用户直接登录到系统中进行一系列可能无法追溯的操作,但提供了专用的运维容器,用于满足非日常运维需求。

原子升级

遵循云原生不可变基础设施原则,不提供 yum 包管理工具,支持以操作系统镜像为粒度进行更新、回滚(替盘升级)以及有限的分层热升级,从而确保集群中各节点的软件版本和系统配置保持一致。

每个镜像在上线前均经过严格的内部测试。相比传统操作系统基于单个 RPM 包升级所带来的不确定性,镜像级别的测试和发布更能保障升级后系统的稳定性。

功能优势

优势

说明

容器场景垂直优化

针对容器场景进行了垂直优化,具备快速启动、安全加固以及根文件系统不可变等特性。它不仅提升了性能,还简化了集群范围内的运维与管理,确保集群中各节点的高度一致性。

节点极速扩容

通过整合 ACK 管控链路优化与 OS 内部优化,显著提升了节点扩容速度。目前,节点扩容时间占 ACK 节点自动伸缩总耗时的 90% 以上。使用 ContainerOS 后,节点池的自动伸缩体验将显著改善。

OS可运维能力

与ACK管控配合,支持持续更新 Kubernetes 和其他系统软件版本、修复 CVE 漏洞,提升 OS 的可运维能力,并支持镜像按需发布。相较于Alibaba Cloud Linux 2自定义镜像方案(同样通过预置镜像以提升节点启动速度),ContainerOS提供官方维护和CVE保障,有效减少对自定义 OS 镜像的维护、升级及重大问题的修复工作。

同时,通过与ACK联合优化,ContainerOS 显著缩短了因运维操作导致的节点不可用时间,保障业务的平稳运行。

Alibaba Cloud Linux 3兼容

ContainerOS 的内核版本和大部分软件包与Alibaba Cloud Linux 3完全一致,采用最新的 kernel 5.10 LTS,为云上应用程序提供 Linux 社区的最新功能支持。

安全说明

ContainerOS应用如下设计原则来增强其安全性。

操作系统安全性

特性

说明

最小化执行环境

ContainerOS中仅包含容器场景所需的软件包与系统服务,软件包数量约210个。更少数量的软件包意味着更少的CVE数量,减少操作系统自身的攻击面。剔除高CVE软件包,如binutils、Python、openssh、tcpdump等,ContainerOS尽可能缩减脚本语言执行环境,不支持Python、Perl、Ruby脚本执行。

ContainerOS节点运维方式

采用最小化执行环境和不可变根文件系统以增加安全性。运维 ContainerOS 节点的方式与普通 Linux 操作系统有所不同,请参见运维ContainerOS节点

不可变根文件系统

不支持yum等包管理软件,仅支持使用rpm-ostree进行可追溯的OS变更与回滚。根文件系统/与核心目录/usr(存放二进制与动态库的目录)为只读,保留/etc(动态配置目录)与/var(日志记录与容器镜像存放目录)为可写状态。

image

展开查看文件系统中的路径及其属性和建议用法

路径

属性

用途

/

/usr

只读

可执行

根文件系统//usr目录以只读方式挂载,保证系统完整性并防止被篡改。

/etc

可写

有状态

通常包含系统的配置文件(如:自定义的systemd服务文件、对一些软件的个性化配置等),用户在升级系统后此目录下自定义的配置文件会被保留。

/var

可写

有状态

通常用于存储一些组件在运行时需要创建的目录(例如:/var/run/NetworkManager)以及一些组件的工作目录(例如:/var/lib/containerd),用户在升级系统后此目录下的内容会全部被保留。

/home

/mnt

/opt

/root

/usr/local

可写

有状态

这些目录都软连接在/var目录下,以便于系统运行过程中使用(例如:在/home目录下创建新用户,/mnt目录下挂载其他的数据盘等)。

/run

/tmp

可写

无状态

挂载tmpfs,可用于存放系统运行所需临时文件,重启后数据会被清除。

系统盘只读

系统盘被设置为只读模式,不能写入数据,以保护系统不被篡改并免受持久化攻击。为了保证系统能正常启动和运行,需额外挂载一个数据盘。

用户数据会存储在数据盘上,实现数据盘与系统盘的隔离。数据盘默认挂载至/var目录。

ContainerOS 3.5.0及以上版本支持。

移除Shell解释器

系统中移除了Shell脚本解释器(如/bin/bash、/bin/sh),阻断了Shell脚本的执行通道,从而降低恶意脚本攻击的风险。

新增Bootstrap容器

提供了Bootstrap容器,用于在主容器启动前执行自定义的用户数据(User Data)脚本。Bootstrap容器会在初始化任务完成后自动退出,避免对主系统或主业务容器造成安全风险。

image

基础架构安全性

基于Alibaba Cloud Linux的软件包体系:Alibaba Cloud Linux是阿里云打造的Linux服务器操作系统发行版,是阿里云上使用量占比第一的操作系统发行版。ContainerOS基于Alibaba Cloud Linux并基于云场景做了大量的优化,复用Alibaba Cloud Linux多年的软件包与镜像构建交付经验,同时在镜像发布前,执行OS基础测试、ACK集成测试来保障镜像的可用性与安全性。

计费说明

ContainerOS是免费镜像。您可以在ACK节点池中免费使用ContainerOS镜像,并免费获得阿里云针对该操作系统的长期支持。

但当您使用ContainerOS镜像时,涉及到的其他资源,例如vCPU、内存、存储、公网带宽和快照等需要收费。关于其他资源的计费详情,请参见计费概述

相关文档

上一篇: 操作系统 下一篇: ContainerOS镜像发布记录
阿里云首页 容器服务Kubernetes版 相关技术圈