如需在ACK叢集中跨域拉取海外源容器鏡像,您可以建立Global AcceleratorGA(Global Accelerator)執行個體,使用其提供的覆蓋全球的網路加速服務。
前提條件
已建立ACK託管叢集Pro版,且版本為1.24及以上。關於如何建立叢集,請參見建立ACK託管叢集;如需升級叢集,請參見手動升級叢集。
注意事項
請規範您的網路訪問行為。如果您訪問的目標網站存在違法資訊,會出現無法正常訪問的情況。
計費說明
使用本功能,除ACK叢集產生的相關費用外,還將產生GA執行個體費用,包括執行個體費用、效能容量單位CU費用、網路傳輸頻寬費用。詳細資料請參見產品計費。
步驟一:建立標準型GA執行個體
標準型GA執行個體提供了一張多接入地區和多來源站點地區的全串連網路,支援四層(TCP和UDP)和七層(HTTP和HTTPS)協議加速。您可以配置GA執行個體需要實現網路加速的海外地區、待拉取的鏡像倉庫訪問地址(例如docker.io)等。
本次建立的標準型GA執行個體,其加速網路的線路預設為精品頻寬跨境加速。
在執行個體列表頁面,單擊建立標準型隨用隨付執行個體,按照頁面提示在不同設定精靈頁進行配置,仔細閱讀頁面提示的注意事項,然後完成配置項的審核和提交。
本步驟基於一些主要配置項介紹如何建立一個隨用隨付的標準型GA執行個體。具體操作和配置項的詳細說明,請參見建立和管理標準型Global Acceleration執行個體。
配置
說明
執行個體基礎配置
執行個體計費方式
預設顯示隨用隨付。
配置加速地區
加速地區
選擇您ACK叢集所在的地區作為加速地區。本樣本選擇杭州和上海。
說明GA支援的加速地區,請參見加速地區與地區。
分配頻寬
頻寬峰值:加速地區的頻寬。本樣本均為200 Mbps。
IP地址協議:接入GA的IP地址協議。本樣本均為IPv4。
配置監聽
協議
監聽的網路傳輸協議類型。本樣本配置為TCP。
連接埠
指定用來接收請求並向終端節點進行轉寄的監聽連接埠,連接埠取值範圍:1-65499。
每個監聽最多可配置30個監聽連接埠。連接埠之間使用半形逗號(,)分隔,例如80,90,8080。
本樣本配置為
80,443。配置終端節點群組
地區
需要實現網路加速的海外地區。本樣本配置為美國(維吉尼亞)。
終端節點配置
終端節點是用戶端請求訪問的目標主機。您可以參照以下樣本配置終端節點。
後端服務類型:本樣本選擇自訂網域名。
後端服務:待拉取的鏡像倉庫Registry的訪問網域名稱地址。本樣本配置為
docker.io。權重:輸入終端節點權重,權重取值範圍:0~255。Global Acceleration根據您配置的權重按比例將流量路由到終端節點。
警告如果某個終端節點的權重設定為0,Global Accelerator將終止向該終端節點分發流量,請您謹慎操作。
本樣本配置為
255。
完成配置後,請根據頁面提示進入GA執行個體的詳情頁。
在GA執行個體的詳情頁,單擊加速地區頁簽,在地區列表的加速IP列,記錄ACK叢集所在地區的加速IP資訊,供步驟三:佈建網域名解析記錄使用。
步驟二:配置GA執行個體的轉寄策略
如果您需要為目標鏡像的其他相關網域名稱地址配置轉寄規則,您可以為監聽再添加一個虛擬終端節點群組。
為監聽建立虛擬終端節點群組後,您可以建立自訂轉寄策略並關聯該虛擬終端節點群組。關聯後,監聽可以根據轉寄策略將滿足轉寄條件的訪問請求轉寄至對應的預設終端節點群組或虛擬終端節點群組中,實現一個Global Acceleration執行個體同時加速訪問多個目標終端節點。請參見添加和管理轉寄策略。
在GA執行個體的詳情頁,單擊監聽頁簽,然後在監聽列表的ID和名稱列單擊監聽的ID,進入監聽的詳情頁。
單擊終端節點群組頁簽,然後單擊添加虛擬終端節點群組,按照頁面提示完成配置。
其中,終端節點配置樣本配置如下:
後端服務類型:選擇自訂網域名。
後端服務:需要拉取的鏡像源所涉及的相關網域名稱地址,例如
production.cloudflare.docker.com。權重:保持為
255。
在監聽配置頁面,單擊轉寄策略頁簽,然後單擊+插入新策略,按照頁面提示配置新的轉寄策略。
主要配置項的樣本如下:
網域名稱:網域名稱匹配規則選擇精確匹配及萬用字元,轉寄網域名稱為需要拉取的目標鏡像源所涉及的相關網域名稱地址,例如
production.cloudflare.docker.com。轉寄動作:配置轉寄至虛擬終端節點群組,選擇前置步驟中所添加的虛擬終端節點群組。
步驟三:佈建網域名解析記錄
通過在ACK叢集節點的/etc/hosts檔案中增加解析記錄,實現本地區名解析。還可以通過配置內網DNS解析 (PrivateZone)網域名稱解析記錄,實現內網DNS解析,這種方式配置生效後會產生計費。計費請參見產品計費。以下是兩種配置方式的對比。
特性 | 本地區名解析記錄 | 雲解析PrivateZone解析記錄 |
配置位置 | 在目標節點的 | 在阿里雲DNS PrivateZone中進行配置。 |
作用範圍 | 僅限於節點配置,如需作用於Pod,則需配置自訂Hosts。 | 作用於VPC內的所有節點及其內部的Pod。 |
維護性 | 需要在節點上手動設定和維護。 | 集中管理,更容易維護和更新。 |
適用情境 | 適合快速臨時解決特定節點的問題或小範圍部署。 | 適用於大規模叢集的統一網域名稱解析需求,確保長期穩定。 |
更新生效速度 | 修改立即生效,但需手動操作多個節點。 | 取決於TTL配置,內網DNS重新整理,無需手動逐個更新。 |
緩衝時間(TTL) | 配置在本地檔案中,修改後立即生效,無緩衝延遲影響。 | 預設1分鐘,可調整,影響解析記錄更新在各地生效的時間。 |
本地區名解析記錄
建立好轉寄策略後,您需要在ACK叢集節點中添加網域名稱解析記錄,使節點通過GA執行個體的加速IP訪問待拉取鏡像的網域名稱地址。
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
配置本地解析。
存量節點:在節點列表,勾選待拉取鏡像的節點,在頁面下方單擊批量營運,然後選擇操作類型為執行 Shell 命令,並單擊確定。
新增節點:在左側導覽列,選擇,單擊目標節點池操作列下的編輯,然後在進階選項(選填)中的執行個體自訂資料配置以下Shell指令碼內容,單擊確定。
echo "47.XX.XX.5 production.cloudflare.docker.com" >> /etc/hosts echo "47.XX.XX.5 docker.io" >> /etc/hosts echo "47.XX.XX.5 registry-1.docker.io" >> /etc/hosts # Docker 註冊表網域名稱。 echo "47.XX.XX.5 auth.docker.io" >> /etc/hosts # Docker 認證服務網域名稱。
選擇執行的模板為ACS-ECS-BulkyRunCommand,支援批量在多台ECS執行個體上運行雲助手命令,其餘使用預設配置項即可,然後進入下一步。
根據頁面提示,填寫Shell指令碼,在節點的
/etc/hosts中大量新增對應的網域名稱解析記錄(A 記錄),配置IP地址為步驟二:配置GA執行個體的轉寄策略擷取的兩個加速IP,網域名稱URL為需要拉取的目標鏡像的相關網域名稱地址,完成參數的配置,建立本次任務。例如,您可以通過
echo命令實現網域名稱解析:
等待任務完成後,您可以登入ECS執行個體,確認節點上已存在對應的網域名稱解析記錄,並測試節點是否可以正常拉取海外源容器鏡像。
雲解析PrivateZone解析記錄
建立好轉寄策略後,您還需要配置雲解析PrivateZone添加對應的網域名稱解析記錄,使得節點可以通過GA執行個體的加速IP訪問待拉取鏡像的網域名稱地址。
擷取目標GA執行個體的CNAME加速網域名稱。
在左側導覽列,選擇標準型執行個體。
在執行個體列表頁面,找到目標基礎型Global Accelerator執行個體,單擊執行個體ID。
在執行個體資訊頁面擷取目標GA執行個體的CNAME加速網域名稱。

擷取目標ACK叢集節點所屬的Virtual Private Cloud絡VPC ID。
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇叢集資訊。
在叢集資訊頁面,單擊基本資料頁簽,擷取網路頁簽下VPC ID。
配置雲解析PrivateZone網域名稱解析記錄
配置訪問網域名稱DNS的CNAME解析記錄為GA執行個體中加速網域名稱。分別為
docker.io、production.cloudflare.docker.com,由於頂層網域不同,需要建立兩個內建權威網域名稱分別為io和cloudflare.docker.com,以下以建立cloudflare.docker.com內建權威網域名稱為例。登入到 Alibaba Cloud DNS控制台。
單擊左側導覽列中 內網網域名稱解析,然後單擊 內建權威,在此頁簽下單擊 使用者網域名稱。
在 使用者網域名稱 頁簽,點擊 添加網域名稱(Zone) ,在內建權威網域名稱 (Zone)輸入框中輸入
cloudflare.docker.com,開啟子網域名稱遞迴解析代理,網域名稱類型選擇內建權威加速區,然後單擊確定。在 使用者網域名稱 頁簽,單擊
cloudflare.docker.com操作列下的解析設定。然後在解析記錄頁簽,單擊添加記錄。在添加記錄對話方塊,選擇 表單填寫入模式。完成解析記錄參數配置後,單擊確定即可完成配置。
參數
配置
記錄類型
選擇CNAME,將網域名稱指向另一個網域名稱。
主機記錄
當內建權威網域名稱(Zone)為
cloudflare.docker.com時填寫production。當內建權威網域名稱(Zone)為
io時,依次填寫如下網域名稱。docker:docker.io為Docker主網域名稱。registry-1.docker:registry-1.docker.io為Docker註冊網域名稱。auth.docker:auth.docker.io為Docker認證服務網域名稱。
記錄值
填入步驟1中擷取的CNAME加速網域名稱。
TTL時間
緩衝時間。數值越小,修改記錄在各地生效時間越快,預設為1分鐘。
在 使用者網域名稱 頁簽,單擊
cloudflare.docker.com操作列下的生效範圍設定。在生效範圍設定側邊欄中,生效於阿里雲VPC內網選擇當前帳號,然後選擇標準vpc,並且選擇目的地組群執行個體所在地區,選中步驟2擷取的VPC ID(將滑鼠移至上方在VPC名稱上,即可查看相應VPC ID),單擊確定。
配置完成後,您可以登入ECS執行個體,測試節點是否可以正常拉取海外源容器鏡像。