使用鏡像緩衝(ImageCache)建立ACS Pod可以加速拉取鏡像,減少ACS Pod的啟動耗時。本文介紹鏡像緩衝的準系統、建立和使用方式、計費說明等。
功能介紹
在運行容器前,ACS Pod需要先拉取指定的容器鏡像,但因網路和容器鏡像大小等因素,鏡像拉取耗時往往成了ACS Pod啟動的主要耗時。為加速執行個體的啟動速度,ACS提供鏡像緩衝功能。通過預先將需要使用的鏡像製作成鏡像緩衝,然後基於該鏡像緩衝來建立ACS Pod,避免或者減少鏡像層的下載,從而提升執行個體的啟動速度。
具體提升速度由 ACS Pod 中使用的容器鏡像大小和鏡像倉庫網路因素等決定。
每個鏡像緩衝中可以包含一個鏡像。鏡像緩衝狀態製作中表示正處於製作鏡像緩衝階段。稍等一段時間,當狀態變成製作完成後即可支援使用鏡像緩衝。
具體鏡像緩衝製作時間與容器鏡像大小與配置的網路頻寬相關。如果由於網路不通、認證失敗、倉庫/Tag 不存在等原因,可能會導致逾時製作失敗。
計費說明
製作鏡像緩衝階段
無鏡像緩衝製作中轉資源費用,地區層級容器鏡像緩衝 20 個免費。當某個地區超過 20 個免費額度後,收費如下:
容器鏡像緩衝儲存費用 = 單價 * 容器鏡像緩衝大小 * 容器鏡像緩衝存活時間長度
單價:0.18 元/GiB/月。
容器鏡像緩衝大小:對應容器鏡像拉取解壓後的大小,單位為 GiB。
容器鏡像緩衝存活時間長度:容器鏡像緩衝建立完成後開始計費,直至刪除容器鏡像緩衝後停止計費。
使用鏡像緩衝階段
此階段的費用包含使用了鏡像緩衝的Pod全生命週期加速費用,計費時間長度與當前 Pod 的運行時間長度一致。
容器鏡像緩衝加速費用 = 單價 * 容器鏡像緩衝大小 *
單價:0.00231 元/GiB/小時
容器鏡像緩衝大小:對應容器鏡像拉取解壓後的大小,單位為 GiB。
所有Pod的運行時間長度總和:當基於容器鏡像緩衝啟動 Pod,則累計 Pod 拉取鏡像、啟動、啟動並執行全生命週期時間長度(容器鏡像緩衝的付費時間長度與 Pod 自身的計費時間長度保持一致)。在 T0 小時,如果有 3 個 Pod 基於容器鏡像緩衝快速拉起,Pod 1 本身計費時間長度 3600 秒,Pod 2 本身計費時間長度 3000 秒,Pod 3 本身計費時間長度 600 秒。則一共加速時間長度為 3600 + 3000 + 600 = 7200 秒。
注意事項
目前 ACS 鏡像緩衝功能在白名單邀測階段,可提交工單申請開通。
建立鏡像緩衝會為使用者建立Service Linked Role,因此需要確保調用建立的子帳號具有
ram:CreateServiceLinkedRole許可權。製作完成後會顯示鏡像緩衝大小,該數值為容器鏡像解壓縮後完整檔案和容器鏡像緩衝額外索引檔案的總大小。鏡像緩衝目前支援解壓前不超過500GiB的鏡像製作。
鏡像緩衝單地區預設配額為200,可提交工單申請提升。
鏡像緩衝單地區支援最多50個鏡像緩衝同時進行建立,已建立完成的鏡像緩衝不計入其中。
目前鏡像緩衝支援的地區:華北2(北京)、華東2(上海)、華東1(杭州)、華北6(烏蘭察布)、華南1(深圳)、中國香港、新加坡。
目前鏡像緩衝支援的鏡像類型:
linux/amd64、windows/amd64。預設為linux/amd64。目前 GPU 情境鏡像緩衝支援的卡型為G59、G49E、L20(GN8IS),支援的鏡像類型為
linux/amd64。目前 ACS 控制台僅支援建立
linux/amd64類型的鏡像緩衝。如需製作Windows鏡像緩衝,請使用OpenAPI並指定Platform為windows/amd64。在使用已建立的鏡像緩衝時,請確保 Pod 和鏡像倉庫之間的網路連通性。
建立鏡像緩衝
控制台
登入容器計算服務控制台,在左側導覽列選擇鏡像緩衝。
在鏡像緩衝頁面,單擊頁面左上方的建立鏡像緩衝。
參考頁面提示完成地區、鏡像緩衝與訪問憑證、網路連通性配置,並確認建立。
建立鏡像緩衝後,可以通過其製作事件瞭解鏡像緩衝的製作過程。
配置項
說明
樣本值
地區
目前鏡像緩衝支援的地區。
華北2(北京)
鏡像緩衝與訪問憑證
鏡像緩衝名:長度為[2, 128]個英文小寫字母、數字或者連字號(-),不能以連字號開始或結尾。
鏡像:支援從Container Registry企業版、Container Registry個人版、製品中心選擇目標鏡像和版本。
訪問憑證:同帳號ACR倉庫支援自動免密,無需填寫訪問憑證。若使用非阿里雲Container RegistryACR託管的鏡像,需指定Server為鏡像倉庫網域名稱地址,並配置對應的鏡像倉庫使用者名稱和鏡像倉庫密碼。
鏡像緩衝名:
image-cache-*****鏡像:
egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.9.0.1-pytorch2.7-cu128-20250612
網路連通性配置
選擇以下方式拉取需要被緩衝的容器鏡像。
公網方式:
為專用網路綁定公網 NAT Gateway,並為所選交換器配置 SNAT 規則。
自動建立或者使用已有的彈性公網 IP。
自動建立的Elastic IP Address將按照實際產生的流量收費,並在鏡像緩衝建立完成後自動釋放,具體收費細則請參見計費概述。
VPC內網方式:推薦將容器鏡像上傳到相應地區的Container RegistryACR企業版執行個體,通過內網 VPC 地址拉取鏡像。
請按實際網路資訊配置。
OpenAPI
使用鏡像緩衝
Pod註解 | 說明 |
| 為Pod開啟鏡像緩衝匹配能力。 |
功能開啟後,Pod將自動匹配使用最優的鏡像緩衝:
鏡像匹配度:選擇鏡像名完全符合的鏡像緩衝。
建立時間:優先選擇建立時間最近且可用的鏡像緩衝。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇工作負載 > 容器組,然後單擊使用YAML建立資源。
使用以下YAML建立Pod並添加註解開啟鏡像緩衝匹配能力。
請確保網路設定和密鑰資訊能夠訪問到所配置的鏡像倉庫,目前支援的imagePullPolicy為
Always。apiVersion: v1 kind: Pod metadata: labels: name: hello-pod name: hello-pod annotations: image.alibabacloud.com/enable-image-cache: "true" spec: containers: - image: egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/vllm:0.9.0.1-pytorch2.7-cu128-20250612 # 請替換為實際鏡像地址 command: ["/bin/sleep", "infinity"] imagePullPolicy: Always name: hello-pod ports: - containerPort: 8080 protocol: TCP resources: {} securityContext: capabilities: {} privileged: false terminationMessagePath: /dev/termination-log dnsPolicy: ClusterFirst restartPolicy: Always建立成功後,單擊Pod名稱進入基本資料頁面。開啟鏡像緩衝匹配能力之後,建立的Pod會根據鏡像名稱嘗試匹配鏡像緩衝,匹配成功的Pod會自動追加當前匹配的鏡像緩衝的註解。
功能
參數
樣本值
說明
鏡像快取命中資訊
image.alibabacloud.com/matched-image-caches[{"imageCacheId":"imc-*****t15xuii6tz*****","size":30}]命中的鏡像緩衝ID及大小(GiB)。