傳統容器運行需要將全量鏡像數據下載后再解包,然而容器啟動可能僅使用其中部分的內容,導致容器啟動耗時長。通過容器鏡像服務企業版的按需加載功能,您可以在業務部署中使用加速鏡像版本,實現鏡像數據免全量下載和在線解壓,大幅提升應用分發效率,享受極致的彈性體驗。本文介紹如何按需加載容器鏡像。
前置條件
已開通企業版鏡像服務
已開通云容器引擎集群
背景信息
通過按需加速功能,您可以在部署業務工作負載時使用加速鏡像,實現鏡像數據免全量下載和在線解壓,大幅度提升應用分發效率,縮短容器啟動時間,減少容器鏡像所消耗的存儲空間。加速效果與鏡像大小以及網絡等因素有關。
注意
在創建容器實例時,選用Containerd作為容器運行時的集群支持使用鏡像加速,而對于選用Docker作為運行時的實例則不支持使用。
轉換加速鏡像
通過在鏡像倉庫或者在命名空間級別啟用自動轉換加速鏡像,在上傳鏡像后會自動轉換成加速鏡像。鏡像轉換時間取決于鏡像大小,對原始鏡像不做任何變更改動。
轉換后的加速鏡像與原始鏡像所在的命名空間及鏡像倉庫保持一致,僅鏡像版本(即鏡像的Tag)比原始鏡像多增加了“accelerated”后綴。
注意
1.在已有命名空間或鏡像倉庫中開啟鏡像加速自動轉換,所覆蓋的命名空間或鏡像倉庫下的存量鏡像則不會自動轉換;
2.加速鏡像會增加對象存儲Bucket的使用量;
3.因加速鏡像轉換需要一定耗時,建議提前提前上傳鏡像,預留足夠的轉化時長,以免影響業務的發布時間,例如,轉換 40GiB 的鏡像大約耗時 30 分鐘;
4.隨著鏡像容量增加,除了增加轉換時長,同樣也會增加轉換失敗的風險,建議轉的鏡像容量控制在60GiB以內。
登錄容器鏡像控制臺。
在頂部菜單欄,選擇所需資源池。
在實例頁面中選擇指定的企業版實例。
在命名空間中開啟鏡像加速:在企業版實例管理頁面的左側菜單上選擇 "容器鏡像" - "命名空間"。在命名空間創建時,打開開啟鏡像加速開關,其余信息點填寫完成后點擊創建按鈕。對于現存的命名空間,在命名空間列表中的開啟鏡像加速開關列中,打開開關。
在鏡像倉庫中開啟鏡像加速:在企業版實例管理頁面的左側菜單上選擇 "容器鏡像" - "鏡像倉庫"。在未開啟鏡像加速的命名空間下創建鏡像倉庫時,打開開啟鏡像加速開關,其余信息點填寫完成后點擊創建。對于現存的鏡像倉庫,在鏡像倉庫列表中,選擇未開啟鏡像加速的命名空間下的鏡像倉庫,點擊編輯,在編輯頁面中打開開啟鏡像加速開關,然后點擊更新按鈕。
在啟用鏡像加速的命名空間或者鏡像倉庫中上傳鏡像,稍等片刻后,在鏡像倉庫的版本列表頁中查看到已經轉換完成的帶“accelerated”后綴的加速鏡像,轉換時間受鏡像自身大小影響。
使用加速鏡像
節點打標
在創建云容器引擎集群的worker節點時,您可以給節點打上標簽 daliqc.cn/image-accelerate-enabled=true,以標記此節點能運行加速鏡像,可在節點上部署鏡像加速所需插件。在為容器集群擴容時,您可以給新加節點打上標簽 daliqc.cn/image-accelerate-enabled=true
說明
加速容器需運行在加速節點上,加速節點可同時支持普通容器與加速容器的運行。
如果是為存量節點設置該標簽,在安裝插件時會重啟運行時,會對現有容器有所影響,風險請自行評估。
安裝插件
登錄云容器引擎控制臺,進入所需集群。
在菜單上點擊 "插件" - "插件市場",在插件列表中查找插件cube-acceleration-suite,點擊安裝。
在彈出側欄中點擊安裝,頁面會跳轉到插件實例,待狀態一列轉變成運行中,表示插件安裝成功。
運行加速鏡像的工作負載
在創建工作負載時,或者給現有的工作負載更替鏡像時,在鏡像版本選擇框選用是否加速鏡像一列為“是”的鏡像,點擊確認,則可使用加速鏡像。或者直接給工作負載的Pod標簽打上 daliqc.cn/image-accelerate-mode: on-demand,屆時會給Pod中的所用的鏡像都自動更替成加速鏡像。