全部產品
Search
文件中心

Container Compute Service:使用自建鏡像倉庫建立ACS工作負載

更新時間:Dec 11, 2024

拉取自建鏡像倉庫中的鏡像時,可能會碰到因協議不同、認證認證失敗或者使用了自建DNS伺服器而導致鏡像拉取失敗的問題。本文介紹在自建鏡像倉庫採用HTTP協議和使用自簽發認證或者自建DNS伺服器的情況下,如何拉取自建鏡像倉庫中的鏡像來建立ACS工作負載。

功能說明

拉取自建鏡像倉庫中的鏡像時,可能會碰到“ErrImagePull”警示事件,出現鏡像拉取失敗的情況。在保證ACS執行個體與鏡像倉庫網路連通的前提下,問題的原因和解決方案如下:

情境

原因

解決方案

自建鏡像倉庫採用HTTP協議。

ACS預設使用HTTPS協議拉取鏡像,協議不同導致鏡像拉取失敗。

配置ACS使用HTTP協議與鏡像倉庫進行互動。

自建鏡像倉庫採用HTTPS協議,但使用的認證是自簽發認證。

使用自簽發認證的情況下,拉取鏡像時無法通過認證認證,導致鏡像拉取失敗。

配置跳過認證認證。

自建鏡像倉庫的網域名稱使用自建的DNS伺服器。

ACS預設使用阿里雲DNS(100.100.2.136、100.100.2.138)解析鏡像倉庫,如果鏡像倉庫的網域名稱記錄存在您自建的DNS伺服器,就會導致鏡像拉取失敗。

參見使用annotation配置自訂DNS

配置說明

如果需要拉取自建鏡像倉庫的鏡像,且自建鏡像倉庫採用HTTP協議,或者使用自簽發認證時,需在容器組(Pod)上配置下列註解,以避免鏡像拉取失敗。

名稱

類型

樣本值

描述

registry.alibabacloud.com/plain-http-registry

String

"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"

拉取採用HTTP協議的自建鏡像倉庫中的鏡像時,需配置該參數,使得ACS使用HTTP協議拉取鏡像,避免因協議不同而導致鏡像拉取失敗。

registry.alibabacloud.com/insecure-registry

String

"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"

拉取使用自簽發認證的自建鏡像倉庫中的鏡像時,需要配置該參數來跳過認證認證,以避免因認證認證失敗而導致鏡像拉取失敗。

說明

如果有多個容器的鏡像需要從不同的鏡像倉庫中拉取,支援填寫多個鏡像倉庫地址,各個地址之間採用英文半形逗號(,)隔開,例如harbor***.pre.com,192.168.XX.XX

下面以無狀態應用為例:

  1. 登入容器計算服務控制台,在左側導覽列選擇叢集

  2. 叢集頁面,單擊目的地組群ID,然後在左側導覽列,選擇工作負載 > 無狀態

  3. 無狀態頁面,單擊使用鏡像建立

  4. 在您填寫完應用基本資料後,點擊下一步

  5. 填寫完容器配置後,點擊下一步

  6. 進階配置頁面中,根據您自己的需求,在Pod註解中填入上述配置,比如您需要配置registry.alibabacloud.com/plain-http-registryregistry.alibabacloud.com/insecure-registry,按照下圖完成配置後,單擊建立按鈕。image