ContainerOS 是阿里雲專為容器情境最佳化的官方作業系統,完全相容 Kubernetes 生態。基於 Alibaba Cloud Linux 3,ContainerOS 提供更高的安全性、更快的啟動速度以及精簡的系統服務和軟體包,預設整合雲原生組件,開箱即用。
適用範圍
ContainerOS介紹
在容器化部署情境下,使用雲原生組件(如容器運行時、Kubernetes),您可以更專註於應用開發,而無需過多關注底層基礎設施的細節。傳統作業系統為適應多種使用情境,包含了大量使用者態工具、軟體包和系統服務,導致系統臃腫、啟動緩慢,且軟體包種類繁多、版本分散,給營運工作帶來極大挑戰。
為解決傳統作業系統在雲原生情境中的適配問題,提升使用體驗,ACK專為容器情境設計了作業系統 ContainerOS。相比之下,ContainerOS 更加輕量、模組化,啟動和運行容器的速度更快。同時,它具備更高的安全性和更低的資源需求,適用於雲端運算和大規模部署情境。
功能特性
特性 | 說明 |
鏡像精簡 | 只包含Kubernetes Pod運行所依賴的軟體包和系統服務,通過全系統整合最佳化,可大大縮短系統啟動時間。ContainerOS的系統軟體包數量約210個;而傳統作業系統(例如Alibaba Cloud Linux3、Alibaba Cloud Linux 2、CentOS等)預設預裝的軟體包數量約為600個。
此外,ContainerOS不提供Python支援,也不直接提供SSH登入功能。您可以專註於業務的開發和運行,無需關心作業系統層面的問題。 |
極速啟動 | 通過全鏈路最佳化,顯著提升了 OS 啟動速度,並縮短了 ACK 鏈路中的節點擴容時間。通過簡化 OS 啟動流程,預置叢集管控所需組件的容器鏡像,減少了節點啟動時因鏡像拉取產生的延遲。結合 ACK 管控鏈路最佳化,進一步加快了節點擴容速度。 以下圖為例,ContainerOS千節點擴容P90節點就緒時間僅為53s。相較於CentOS、Alibaba Cloud Linux 2自訂鏡像最佳化方案,ContainerOS優勢更為明顯。 重要 本樣本中提供的資料僅為理論值,實際資料可能會因產品功能最佳化略有偏差,請以您的作業環境為準。 |
安全強化 | 根檔案系統為唯讀許可權,僅/etc和/var目錄可寫,以滿足基礎的系統配置需求。這一設計不僅符合雲原生情境中的不可變基礎設施原則,還能有效防止逃逸容器篡改主機檔案系統。同時,ContainerOS禁止使用者直接登入到系統中進行一系列可能無法追溯的操作,但提供了專用的營運容器,用於滿足非日常營運需求。 |
原子升級 | 遵循雲原生不可變基礎設施原則,不提供 每個鏡像在上線前均經過嚴格的自我裝載。相比傳統作業系統基於單個 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變更與復原。根檔案系統 | |
系統硬碟唯讀 | 系統硬碟被設定為唯讀模式,不能寫入資料,以保護系統不被篡改並免受持久化攻擊。為了保證系統能正常啟動和運行,需額外掛載一個資料盤。 使用者資料會儲存在資料盤上,實現資料盤與系統硬碟的隔離。資料盤預設掛載至 | 僅ContainerOS 3.5.0及以上版本支援。 |
移除Shell解譯器 | 系統中移除了Shell指令碼解譯器(如/bin/bash、/bin/sh),阻斷了Shell指令碼的執行通道,從而降低惡意指令碼攻擊的風險。 | |
新增Bootstrap容器 | 提供了Bootstrap容器,用於在主容器啟動前執行自訂的使用者資料(User Data)指令碼。Bootstrap容器會在初始化任務完成後自動結束,避免對主系統或主業務容器造成安全風險。 | |
基礎架構安全性
基於Alibaba Cloud Linux的軟體包體系:Alibaba Cloud Linux是阿里雲打造的Linux伺服器作業系統發行版,是阿里雲上使用量佔比第一的作業系統發行版。ContainerOS基於Alibaba Cloud Linux並雲端式情境做了大量的最佳化,複用Alibaba Cloud Linux多年的軟體包與鏡像構建交付經驗,同時在鏡像發布前,執行OS基礎測試、ACK整合測試來保障鏡像的可用性與安全性。
計費說明
ContainerOS是免費鏡像。您可以在ACK節點池中免費使用ContainerOS鏡像,並免費獲得阿里雲針對該作業系統的長期支援。
但當您使用ContainerOS鏡像時,涉及到的其他資源,例如vCPU、記憶體、儲存、公網頻寬和快照等需要收費。關於其他資源的計費詳情,請參見計費概述。
相關文檔
如何使用ContainerOS作為節點池作業系統,請參見使用ContainerOS。
關於ContainerOS鏡像發布記錄,請參見ContainerOS鏡像發布記錄。