镜像介绍

最近更新时间:2026-05-13 18:33:53

我的收藏

简介

TencentOS Rainbow 是腾讯云专为云原生场景设计的一款轻量级、安全可靠的容器操作系统,并作为 TKE 官方公共镜像向用户提供。常规的 OS 镜像一般通过传统 Linux 发行版衍生而来,在云原生场景下往往存在启动速度慢、资源利用率低、攻击面广等不足。TencentOS Rainbow 聚焦于节点镜像的构建、升级与配置,集成了 Kernel、Linux 发行版和容器运行时,为 Kubernetes 集群提供坚实的底层底座。

核心架构与模块

TencentOS Rainbow 的整体架构主要由四大核心模块构成,全面覆盖了从底层 OS 发行版到集群侧运维的生命周期管理:

1. 基础 OS(不可变发行版)

Rainbow 作为云原生底座,采用系统组件与配置及用户数据分离的设计:
根文件系统只读:根文件系统(rootfs)存储系统组件,默认只读,无法直接通过 dnf/yum 部署传统软件包,从根本上防止了系统的碎片化和配置漂移。
配置及用户数据可写:针对 /etc、/var 等配置及用户数据,通过 overlay 机制挂载,可写、可持久化到数据分区,在保障隔离性的同时提供了一定的灵活性。
极简软件包:仅提供 Kubernetes 和 containerd 运行所必需的基础库及组件(集成了升级与运维工具),剔除了所有冗余应用。

2. 升级管理 (OS Update Operator)

基于 Kubernetes Operator 机制,实现了直接通过 K8s API 对底层 OS 的生命周期管理:
内核态和用户态分离管理:内核组件(包括 kernel、内核模块等)和用户态组件(包括 glibc、systemd 等)分离管理,支持单独和共同更新。
A/B 双分区设计:系统分区采用双 Boot 与双 Root 分区的结构,分别存储内核态和用户态组件,可实现快速更新和回滚。
原子化升级和回滚:支持通过下发 CustomResource(如 NodeOS)触发集群内节点的自动原子化更新。支持范围升级、分批灰度、自动重试与一键回退。

3. 配置管理 (OS Config Operator)

主要对集群中 Worker 节点的关键配置进行集中式、GitOps 化管理:
声明式配置下发:通过提交 Git PR 或创建 ConfOS 资源,自动统一下发配置修改,保障集群内节点间配置的一致性。支持内核参数(sysctl)、容器运行时(containerd)、K8s 节点组件(kubelet)及服务文件的配置。
异常配置监控:基于 Linux fanotify 机制,对关键配置文件进行监控,发现节点上的配置被非法篡改,将立即通过 Kubernetes Event 机制上报告警。

4. 运维管理 (Admin Container)

为解决不可变 OS 无法直接 SSH 或安装调试工具的问题,提供独立的“运维容器”:
按需启动,具有特权(Privileged)模式,共享宿主机 PID 和网络命名空间。
内置 sshd 服务及丰富的调测工具(如 tcpdumpperfstracebpftrace 等),不污染基础 OS 环境。

与传统 TencentOS Server 版本的差异

从云原生业务视角来看,TencentOS Rainbow 与通用的 TencentOS Server 系列在设计理念、内核参数和配置管理上有着本质区别:
对比维度
TencentOS Server (如 3.1 / 4.4)
TencentOS Rainbow
系统架构与定位
传统的通用 Linux 发行版,支持各类传统业务和虚拟化部署。
不可变基础设施(Immutable OS),专门用于运行容器化负载。
软件包管理
提供完整的 RPM 软件仓库,用户可随意使用 yum/dnf 安装组件。
剔除传统包管理器,移除了大量非必须组件及冗余系统服务(如默认无 sshd)。
内核参数与调优
通用内核参数配置,兼顾网络、存储和桌面等广泛场景,参数较为庞杂。
深度裁剪的云原生定制内核,剔除了与容器无关的驱动与特性,重点针对高并发网络及容器隔离进行了内核级调优。
配置管理方式
依赖用户通过 SSH 登录节点,手动修改 /etc/sysctl.conf 或通过 Bash 脚本批量执行配置。
Kubernetes 原生声明式 API,通过下发 ConfOS CRD 自动应用配置,禁止手动热改,杜绝配置漂移。
系统升级机制
依赖软件包逐个更新(如 yum update),过程易受中断影响,回滚困难。
基于 A/B 分区的原子级整包替换,镜像拉取完毕后重启即切流,一旦异常可一键回滚。

产品优势

极致轻量,极速启动

体积缩减 90%+:相比通用版 TencentOS Server 4 的 4.5G,TencentOS Rainbow 镜像大小仅约为 393MB(OS 组件)。
内存占用缩减 10%+:相比于 CentOS、ubuntu、TS2、TS3 等通用系统镜像,在 S5.MEDIUM2 机型下,内存占用缩减 11.7% ~ 32.1%,缓存占用缩减 11.8%~29.5%,系统可用内存增加 3.6%~27.8%。


节点启动提升70%+

系统组件经过深度裁剪与优化,整体节点拉起总耗时相比 CentOS、ubuntu、TS2、TS3 等通用系统镜像,在 S5.MEDIUM2 机型下提升 66%~77%。


安全加固,不可变基础设施

根文件系统只读,禁止包管理器随意安装软件,收敛攻击面。
严格的配置防篡改监控(Config Monitor),确保大规模集群节点状态的一致性。

Kubernetes 原生管理

运维人员无需登录每一台节点机操作,通过标准的 kubectl 命令或 K8s API 即可完成海量节点的 OS 版本升级、回滚及内核参数调优。

使用场景与限制

适用场景:适用于对安全性、弹性扩缩容速度、节点一致性有极高要求的大规模 Kubernetes 容器集群底座。
当前限制:仅支持 K8s 1.30 版本。