全部產品
Search
文件中心

Elastic Container Instance:鏡像緩衝概述

更新時間:Jul 06, 2024

使用鏡像緩衝(ImageCache)建立ECI執行個體可以加速拉取鏡像,減少ECI執行個體的啟動耗時。本文介紹鏡像緩衝的準系統、建立和使用方式、以及計費說明等。

功能簡介

在運行容器前,ECI需要先拉取您指定的容器鏡像,但因網路和容器鏡像大小等因素,鏡像拉取耗時往往成了ECI執行個體啟動的主要耗時。為加速執行個體的建立速度,ECI提供鏡像緩衝功能。您可以預先將需要使用的鏡像製作成緩衝快照,然後基於該快照來建立ECI執行個體,避免或者減少鏡像層的下載,從而提升執行個體的建立速度。

經實測,以使用Docker Hub的flink鏡像(約386.26 MB)建立ECI執行個體為例,正常建立過程中,鏡像準備階段需要耗時50s,使用鏡像緩衝後,鏡像準備階段無需耗時,可以極大節約執行個體啟動耗時。

說明

具體提升速度由ECI執行個體中使用的鏡像個數、鏡像大小和鏡像倉庫網路因素等決定。

建立方式

鏡像緩衝的建立分為手動建立和自動建立兩種方式:

說明

推薦使用自動建立的鏡像緩衝,可以節約使用成本。但對於首次建立就需要加速建立ECI執行個體的情境,需提前手動建立鏡像緩衝。

  • 手動建立

    您可以根據需要,自行設定名稱、大小等參數來建立鏡像緩衝。過程如下:

    手動imc

    • 一個鏡像緩衝對應一份快照,手動建立的鏡像緩衝快照由您自行管理。

    • 建立過程中,系統將建立一個ECI執行個體(2 vCPU、4 GiB記憶體),並掛載一塊ESSD PL1類型的雲端硬碟用於中轉建立鏡像緩衝對應的快照。建立完成後,該執行個體和雲端硬碟將被自動釋放。

    • 極速鏡像緩衝功能用於縮短鏡像緩衝的建立時間長度。開啟該功能後,系統將臨時建立一份本地快照。本地快照建立完成即可使用鏡像緩衝功能。

      說明

      本地快照建立完成後,系統將自動開始建立普通快照,在此期間,鏡像緩衝對應使用本地快照;待普通快照建立完成後,系統將自動刪除本地快照,在此之後,鏡像緩衝對應使用普通快照。

    • 鏡像緩衝複用功能用於加快鏡像緩衝的製作速度。開啟該功能後,在建立鏡像緩衝的過程中,系統將自動匹配已有鏡像緩衝,如果新的鏡像緩衝與已有鏡像緩衝存在重複的鏡像層,新的鏡像緩衝將複用已有鏡像緩衝的鏡像層,從而加速鏡像緩衝的建立。

  • 自動建立

    建立ECI執行個體時,如果開啟了自動匹配鏡像緩衝,則在未匹配到鏡像緩衝的情況下,系統會在建立ECI執行個體的同時,自動建立一個鏡像緩衝。過程如下:

    自動imc

    • 一個鏡像緩衝對應一份快照,自動建立的鏡像緩衝快照由阿里雲管理。

    • 建立過程中,系統將建立一個ECI執行個體,並使用ECI執行個體內建的儲存空間來中轉建立鏡像緩衝對應的快照。建立完成後,該執行個體將被自動釋放。

      說明

      每個ECI執行個體預設有30 GiB的臨時儲存空間可用於建立鏡像緩衝,如果您的鏡像大小超出了30 GiB,需要額外聲明臨時儲存空間。

手動建立和自動建立的鏡像緩衝在大小、保留時間長度等方面均有差異,對比如下表所示。

對比項

手動建立

自動建立

名稱

可以自訂設定名稱。

名稱由系統自動產生,格式為auto-create-for-執行個體ID

大小

預設為20 GiB,可以自訂設定大小。

預設為30 GiB。如果建立ECI執行個體時聲明了臨時儲存空間,則鏡像緩衝大小=30 GiB+臨時儲存空間大小。

保留時間長度

預設持續保留,可以自行設定保留時間長度(單位為天),到期後將被自動刪除。

預設由阿里雲管理保留時間長度。

  • 對於自動建立後從未使用過的鏡像緩衝,7天后會被自動刪除。

  • 對於自動建立後使用過的鏡像緩衝,當距離上一次使用的時間超過30天時,會被自動刪除。

鏡像緩衝複用

可以開啟鏡像緩衝複用來複用已有鏡像層,加快鏡像緩衝的製作速度。

不支援配置該功能。

極速鏡像緩衝

可以開啟極速鏡像緩衝來臨時建立一份本地快照,縮短鏡像緩衝的建立時間長度。

不支援配置該功能。

配額限制

可以調用ListUsage介面,或者在控制台的權益配額頁面查看配額。

如果配額無法滿足需求,請提交工單申請提升配額。

可以調用ListUsage介面查看配額。

如果配額無法滿足需求,請提交工單申請提升配額。

淘汰策略

預設情況下,當數量達到配額限制時,無法繼續手動建立鏡像緩衝。

支援通過OpenAPI(CreateImageCache或UpdateImageCache介面)將某個鏡像緩衝的淘汰策略(EliminationStrategy參數)配置為LRU,表示當數量達到配額限制時,系統可以自動刪除最不常用的LRU鏡像緩衝。

當數量達到配額限制時,系統會遵循LRU規則,自動刪除最不常用的鏡像緩衝。

使用成本

收取建立費用和使用費用。

僅收取使用費用,不收取建立費用。

使用方式

使用鏡像緩衝可以加快ECI執行個體的建立。建立ECI執行個體時,支援自動匹配和明確指定鏡像緩衝兩種方式:

  • 自動匹配

    自動匹配使用最優的鏡像緩衝。系統將按照以下順序進行匹配:

    1. 過濾篩選出您在當前地區下的所有鏡像緩衝,且鏡像緩衝的大小滿足ECI執行個體臨時儲存空間大小的限制。

    2. 根據匹配策略選擇最優的鏡像緩衝,匹配策略的優先順序從高到低依次為:鏡像匹配度、鏡像大小、建立時間。

      • 鏡像匹配度:優先選擇匹配度高的鏡像緩衝,匹配度指的是ECI執行個體和鏡像緩衝兩者在鏡像倉庫和版本上的匹配情況。

      • 鏡像大小:優先選擇鏡像大小最接近的鏡像緩衝。

      • 建立時間:優先選擇最新建立的鏡像緩衝。

    說明

    如果沒有匹配到鏡像緩衝,系統將在建立ECI執行個體的同時自動建立鏡像緩衝。建立時將正常拉取鏡像,建議您將容器的鏡像拉取策略配置為按需拉取(IfNotPresent),以避免鏡像層重複下載,影響鏡像緩衝的使用效果。

  • 明確指定

    明確指定使用的鏡像緩衝。該鏡像緩衝必須為建立完成(Ready)狀態。

注意事項

  • 單個鏡像緩衝最多包含20個鏡像。

  • 建立鏡像緩衝需要拉取容器鏡像,因此建立時間長度由鏡像個數、鏡像大小、網路等多種因素決定。

  • 手動建立鏡像緩衝時採用您指定的容器鏡像,自動建立鏡像緩衝時採用執行個體中所聲明的容器鏡像。

    • 如果鏡像為私人鏡像(非阿里雲Container RegistryACR託管的鏡像),則需要提供私人鏡像倉庫的訪問憑證,包括地址、使用者名稱和密碼。

    • 如果鏡像需要通過公網拉取(如Docker官方鏡像),則需要配置EIP或者NAT來訪問公網。更多資訊,請參見為ECI執行個體配置公網串連

    • 如果鏡像由於遠程倉庫逾時等原因導致拉取失敗,推薦您使用Container RegistryACR,將鏡像上傳至阿里雲倉庫。

  • 對於手動建立的鏡像緩衝,建議在建立時設定保留時間長度,以免產生不必要的快照費用。對於自動建立的鏡像緩衝,由阿里雲管理對應的快照,您無需關注保留時間長度。

  • 建立鏡像緩衝後,您可以通過其製作事件瞭解鏡像緩衝的製作過程,系統最多可以保留最新的50條製作事件。

計費說明

  • 建立鏡像緩衝

    • 手動建立鏡像緩衝,需支付臨時資源(ECI執行個體和雲端硬碟)費用和快照費用。

    • 自動建立鏡像緩衝,無需付費。

  • 使用鏡像緩衝

    • 使用手動建立的鏡像緩衝建立ECI執行個體時,將為ECI執行個體自動掛載和鏡像緩衝相同大小的雲端硬碟,即除ECI執行個體費用外,需額外支付雲端硬碟費用。

    • 使用自動建立的鏡像緩衝建立ECI執行個體時,如果鏡像緩衝大於30 GiB,需增加臨時儲存空間並為其付費。否則只需支付ECI執行個體費用。

更多資訊,請參見鏡像緩衝計費