全部產品
Search
文件中心

Container Service for Kubernetes:作業系統Alibaba Cloud Linux 2(停止維護)

更新時間:Mar 19, 2025

ACK目前已經全面支援Alibaba Cloud Linux 2的節點建立,並結合Alibaba Cloud Linux 2的高核心特性提供了多情境的最佳化。本文介紹ACK中使用Alibaba Cloud Linux 2作業系統的優勢,以及ACK基於Alibaba Cloud Linux 2提供的多情境最佳化。

重要

Alibaba Cloud Linux 2已於2024年03月31日00:00:00完全停止維護(EOL)。推薦您在建立叢集或節點池時,選擇作業系統Alibaba Cloud Linux 3ContainerOS。關於Alibaba Cloud Linux 2 EOL的更多資訊,請參見【產品變更】停止維護Alibaba Cloud Linux 2、CentOS 7的公告

背景資訊

Alibaba Cloud Linux 2是新一代阿里雲原生Linux作業系統,為雲上應用程式提供安全、穩定、高效能的定製化運行環境,並針對雲基礎設施進行了深度最佳化,為您打造更好的運行時體驗。您可以免費使用Alibaba Cloud Linux 2公用鏡像,並免費獲得阿里雲針對該作業系統的長期支援。

使用Alibaba Cloud Linux 2作業系統鏡像的優勢

Alibaba Cloud Linux 2的作業系統是針對阿里雲飛天虛擬化平台開發的,針對阿里雲的環境提供了很多最佳化和新特性,主要包括:

  • 是阿里雲上啟動最快的Linux發行版。

  • 針對ECS大規格虛擬機器、裸金屬伺服器深度最佳化,特別是大規格執行個體的多任務的情境。

  • 預設安裝阿里雲常用軟體包,如阿里雲CLI、cloud-init等,減少雲資源的管理成本。

  • 精簡系統,最小的安全攻擊面,最少的系統資源佔用。

  • 更完善的支援體系,在阿里雲上提供多種渠道的支援人員。

  • 更及時的軟體安全性漏洞(CVE)修複。

  • 支援核心熱補丁升級的能力,大大保障漏洞修複時的商務持續性。

應用執行個體在Alibaba Cloud Linux 2上啟動並執行效能優勢包括:

  • 針對ECS執行個體環境大幅最佳化啟動速度,在系統壓力來臨時快速的擴容啟動計算資源,啟動速度相對CentOS 7提升29%。

  • 針對ECS執行個體環境最佳化了多任務的情境,提升大規格執行個體多任務的效能,同樣規格下能有16%的效能提升。

  • 更高效的系統調用,系統調用的效能提升11%。

  • Linux網路棧的最佳化,綜合網路效能相對CentOS 7提升7.8%。

  • Alibaba Cloud Linux 2預設是編譯好BBR的擁塞控制演算法的,在公網訪問較多的情境中允許您修改擁塞控制演算法為BBR(Bottleneck Bandwidth and RTT),提升公網訪問的頻寬穩定性。

  • 針對TLS協議,進行了加密最佳化。

  • 支援新的Budget Fair Queueing的IO調度器,降低雲端硬碟的延遲。

ACK結合Alibaba Cloud Linux 2的情境最佳化

阿里雲容器化業務通過核心級的最佳化,讓容器任務混布的密度提升的同時不影響線上業務的響應。Alibaba Cloud Linux 2的作業系統和Kernel中包含了這些最佳化。ACK針對這些最佳化特性,提供了多情境的最佳化,促進容器化業務更快、更平穩地運行。

  • IPVS最佳化

    • 情境一:大規格機器(CPU數大於64)且有大量IPVS虛擬IP的情境。

      解決問題:IPVS的統計定時器(estimation timer)會定期計算各個串連當前的速率,在串連數多的情況下,該操作會長時間佔用CPU,導致網路收包不及時,引起Ping命令高達200ms的波動。

      最佳化方案:將IPVS的統計定時器放到節點中執行;同時添加sysctl命令關閉IPVS的統計。

      效果:不再有由於統計定時器引起的波動。

    • 情境二:容器滾動升級的情境。

      解決問題:在容器發生了滾動升級的時候,如果五元組沒有發生變化,新的TCP SYN包命中了舊的IPVS五元組串連記錄,並且需要被調度到新的目的地址的時候,IPVS預設會丟掉SYN包,導致SYN包重傳,從而引發1秒的延時問題。

      最佳化方案:在新Conntrack項已經存在的情況下,通過釋放Conntrack中的TIME_WAIT狀態的串連,將其調度並替換為新串連。

      效果:可以幾乎沒有時延地切換到新的真實節點(real server)。

  • CoreDNS最佳化

    情境一:容器內大量DNS查詢導致Conntrack表滿的情境。

    解決問題:容器內的應用查詢固定的地址(addr)或連接埠(port)的DNS會讓相應Conntrack entry變成stream mode狀態。由於DNS請求的類型是UDP無狀態、問答式、時間短,因此導致Conntrack entry維護了很多無用的UDP Conntrack entries,不能及時清理,進而可能導致Conntrack表膨脹引起NAT的效能下降。

    最佳化方案:

    • 只有UDP串連持續2秒以上才會被設定成Stream mode狀態,從而避免了Conntrack entry的快速膨脹。

    • 縮短預設UDP Conntrack到期時間,從180s縮短到120s,讓其更快到期,減少對Conntrack entry的影響。

    效果:相同測試情境下UDP的Conntrack表項下降到原來的一半。

  • 容器網路效能最佳化

    在Alibaba Cloud Linux 2的節點上,Container ServiceTerway網路外掛程式支援IPVlan的容器網路模式,在小包的情境下相對傳統Bridge和策略路由網路效能提升40%。Alibaba Cloud Linux 2預設編譯了BBR的擁塞控制演算法,在公網訪問較多的情境中允許您修改容器的擁塞控制演算法為BBR,提升公網訪問的頻寬穩定性,在容器的公網串連和跨公網的鏡像拉取上效能大幅提升。

  • 安全容器支援和最佳化

    阿里雲與Kata Containers和Clear Linux社區合作。在彈性裸金屬執行個體上,您可以無縫地部署整套Kata Containers的解決方案。ACK還最佳化了安全沙箱(RunV)鏡像的啟動時間,使得Kata Containers的整體解決方案可以正常運行。ACK在此基礎上,提供了和普通叢集體驗幾乎一致的安全沙箱容器叢集,讓應用運行在一個輕量虛擬機器沙箱環境中,適合於多使用者間的負載隔離,對不可信應用的隔離,在提升安全性的同時,對效能影響也做到非常小。

  • AutoScaler最佳化

    Alibaba Cloud Linux 2針對ECS執行個體環境最佳化啟動速度,節點的啟動時間相對CentOS 7的系統降低了 60%,結合Container ServiceACK靈活高效的自動Auto Scaling,在應用壓力來臨時,Container ServiceACK叢集會自動根據負載狀況建立和啟動ECS的節點加入叢集,並調度和啟動應用執行個體,Alibaba Cloud Linux 2 快速的擴容啟動的能力讓計算資源可以及時滿足流量峰值的需求。

  • 資源監控和控制能力最佳化

    Alibaba Cloud Linux 2的核心提供了針對容器情境的PSI壓力模型、per-cgroup kswapd、Memory Priority等的細粒度可視化和控制能力。在Alibaba Cloud Linux 2的ACK叢集中我們可以通過CGroup Controller來利用這些能力,實現細粒度BufferIO Control、TCP、CPUSet、Mem、NUMA等細粒度資源的配置和動態更新,在逐步提升資源使用率的同時也能保障應用間的互相干擾降到最低。

  • AI和資料加速最佳化

    Alibaba Cloud Linux 2對大規格機型和多任務的最佳化可以提升高效能運算任務的速度,對儲存的流式讀寫的最佳化也可以提高模型大檔案的讀寫效能,綜合起來大大加速AI和高效能運算任務的效率。實際測試情境如下:

    • 通過Alluxio利用64個線程載入OSS資料1152個檔案144 GB,在CentOS需要3分25秒,Alibaba Cloud Linux 2隻需2分19.037秒,速度是CentOS上的1.6倍。

    • 運行ResNet50 Batch 128模型訓練,資料緩衝到Alluxio中,在CentOS下V100僅為5212.00 images/s。在Alibaba Cloud Linux 2下V100可以達到8746.59 images/s,速度是CentOS上的1.7倍。

  • 容器資源增強展示最佳化

    由於當前多容器共宿主機的形態,導致容器中直觀看到的資源都是宿主機資源,這對很多應用非常不友好。Alibaba Cloud Linux 2對核心的CGroup資源展示進行了最佳化,可以在容器內部正確顯示容器所佔用的資源,例如TOP命令、CPUInfo和MemInfo介面的顯示資訊,大大方便了您的觀察需求。

  • 其他最佳化

    • 使用Linux 4.19的核心,ACK將阿里巴巴核心和容器化實踐融入其中。

    • 降低Overlayfs的效能損耗,減少容器化對儲存效能的損失。

    • 大量Sysctl Namespace化,在4.19的核心中大部分Sysctl配置都支援在容器中單獨設定,例如TCP的逾時和重傳時間,不同應用有不同的逾時和重傳的需求,但是在CentOS 7的核心中是無法修改的,在Alibaba Cloud Linux 2中支援對其做Pod層級的配置。

使用Alibaba Cloud Linux 2作為叢集節點系統鏡像

您可以在建立叢集的配置過程中,將作業系統選擇為Alibaba Cloud Linux 2.1903來使用Alibaba Cloud Linux 2作為叢集節點系統鏡像。具體步驟,請參見建立ACK託管叢集

說明

如果您選用Alibaba Cloud Linux 2,在建立叢集以及後期擴容節點、添加節點、自動調整節點時,ACK會自動檢測Alibaba Cloud Linux 2的安全補丁更新並自動安裝補丁。