拉取自建鏡像倉庫中的鏡像時,可能會碰到因協議不同或者認證認證失敗而導致鏡像拉取失敗的問題。本文介紹在自建鏡像倉庫採用HTTP協議和使用自簽發認證的情況下,如何拉取自建鏡像倉庫中的鏡像來建立ECI執行個體或者鏡像緩衝。
功能說明
拉取自建鏡像倉庫中的鏡像時,可能會碰到“ErrImagePull”警示事件,出現鏡像拉取失敗的問題。在保證ECI與鏡像倉庫網路連通性的前提下,問題原因和解決方案如下:
情境 | 原因 | 解決方案 |
自建鏡像倉庫採用HTTP協議。 | ECI預設使用HTTPS協議拉取鏡像,協議不同導致鏡像拉取失敗。 | 配置ECI使用HTTP協議與鏡像倉庫進行互動。 |
自建鏡像倉庫採用HTTPS協議,但使用的認證是自簽發認證。 | 使用自簽發認證的情況下,拉取鏡像時無法通過認證認證,導致鏡像拉取失敗。 | 配置跳過認證認證。 |
配置說明
調用CreateContainerGroup介面建立ECI執行個體,或者調CreateImageCache介面建立鏡像緩衝時,如果需要拉取自建鏡像倉庫的鏡像,且自建鏡像倉庫採用HTTP協議,或者使用自簽發認證時,需配置PlainHttpRegistry或InsecureRegistry參數來避免鏡像拉取失敗。
僅支援通過OpenAPI配置,控制台暫不支援。
名稱 | 類型 | 樣本值 | 描述 |
PlainHttpRegistry | String | "harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80" | 取值為自建鏡像倉庫地址。 拉取採用HTTP協議的自建鏡像倉庫中的鏡像時,需配置該參數,使得ECI使用HTTP協議拉取鏡像,避免因協議不同而導致鏡像拉取失敗。 |
InsecureRegistry | String | "harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80" | 取值為自建鏡像倉庫地址。 拉取使用自簽發認證的自建鏡像倉庫中的鏡像時,需配置該參數來跳過認證認證,避免因認證認證失敗而導致鏡像拉取失敗。 |
如果有多個容器的鏡像需要從不同的鏡像倉庫中拉取,支援填寫多個鏡像倉庫地址,各個地址之間採用半形逗號隔開,例如
harbor***.pre.com,192.168.XX.XX。如果鏡像倉庫地址有連接埠號碼,則需要帶上連接埠號碼,例如:鏡像地址為
192.168.XX.XX:5000/nginx:latest,則參數值需設定為192.168.XX.XX:5000。
更多資訊,請參見: