若您需要跨地區或從IDC訪問ACR企業版來推送或拉取鏡像,您需確保訪問源和被訪問ACR企業版執行個體的VPC網路互連。本文介紹如何擷取訪問ACR企業版執行個體的IP,以及配置路由,實現在ACR企業版執行個體所在地區之外推送或拉取鏡像。
使用情境
情境 | 描述 | 操作說明 |
本機資料中心訪問ACR企業版執行個體 | 您可以利用VPN網關、Express Connect物理專線或Smart Access Gateway,將本機資料中心與雲上可以訪問ACR企業版執行個體的VPC串連,實現從本機資料中心訪問ACR企業版執行個體的功能。 |
|
跨地區訪問ACR企業版執行個體 | 您可以通過雲企業網(CEN)跨地區串連功能,將雲上VPC與ACR企業版執行個體相連,以實現跨地區訪問ACR企業版執行個體。 說明 若您有雲上多地區容器鏡像拉取需求,建議您使用多個地區企業版執行個體支援,並使用ACR企業版執行個體的全球同步能力同步鏡像。具體操作,請參見同帳號同步執行個體。 |
|
使用說明
本樣本將示範如何在同一個帳號下,在華東2(上海)跨地區訪問華東1(杭州)的ACR企業版執行個體。環境資訊如下:
VPC1
地區:華東1(杭州)
IPv4網段:10.0.0.0/16
交換器1,位於可用性區域J,網段: 10.0.0.0/24
交換器2,位於可用性區域K,網段:10.0.1.0/24 (在2個不同的可用性區域分別建立交換器,用於多可用性區域容災)
ECS1地址:10.0.0.1 (ECS用於驗證連通性)
VPC2
地區:華東2(上海)
IPv4網段:172.16.0.0/16
交換器1,位於可用性區域M,網段:172.16.0.0/24
交換器2,位於可用性區域N,網段:172.16.1.0/24
ECS2地址:172.16.0.1
操作流程如下:
跨地區串連:確保華東1(杭州)與華東2(上海)已通過雲企業網成功跨地區串連。操作詳情請參見跨地區VPC互連。
在華東1(杭州)地區擷取以下三個網域名稱資訊:
說明同地區的ECS確保使用內網訪問目標Container Registry企業版執行個體。詳情請參見配置專用網路的存取控制。
ACR企業版執行個體網域名稱:通常用於鏡像拉取和推送的介面訪問。
認證服務的網域名稱:用於身份認證相關的通訊。
執行個體關聯的OSS Bucket網域名稱:用於儲存和訪問鏡像的Object Storage Service服務。
配置路由表:將擷取的IP地址或網段添加到需要訪問的網路路由表中,以確保它們可以通過雲企業網進行跨地區訪問。
在華東2(上海)驗證訪問華東1(杭州)的ACR企業版執行個體。
步驟一:跨地區串連
華東1(杭州)與華東2(上海)地區相關VPC1和VPC2,通過雲企業網配置跨地區VPC互連。
步驟二:擷取網域名稱資訊
請確保以下三種網域名稱的IP不能與原端已有服務的IP衝突,否則將導致原端的服務在本地無法訪問。
登入華東1(杭州)的ECS1,根據以下步驟擷取OSS Bucket、ACR企業版執行個體和認證服務在VPC中的對應三個IP地址。
擷取ACR企業版執行個體VPC訪問IP。
在頂部功能表列,選擇所需地區。
在左側導覽列,選擇執行個體列表。
在執行個體列表頁面單擊目標企業版執行個體。
在企業版執行個體管理頁面左側導覽列中選擇。
在專用網路頁簽下,複製ACR企業版執行個體VPC訪問網域名稱。然後在ECS上使用
ping命令訪問網域名稱,擷取相應IP並記錄。
擷取認證服務在VPC中的IP。
說明可開啟執行個體接管認證網域名稱跳過此步驟。
執行以下命令,擷取認證服務在VPC中的網域名稱。
InstanceName為ACR企業版執行個體名稱,RegionId為所在地區。curl -vv https://${InstanceName}-registry-vpc.${RegionId}.cr.aliyuncs.com/v2/
使用
ping命令擷取相應的IP並記錄。ping dockerauth-vpc.cn-hangzhou.aliyuncs.com
擷取OSS Bucket在VPC中的IP。
說明通過PrivateLink私網訪問OSS資源,然後將華東1(杭州)的OSS網域名稱CNAME指向PrivateLink的網域名稱,即可跳過此步驟。
使用
ping命令擷取相應的IP並記錄。通過OSS內網網域名稱與VIP網段對照表擷取華東1(杭州)OSS Bucket的VPC網域名稱。
使用Ping命令擷取相應的網域名稱對應的IP並記錄。
ping oss-cn-hangzhou-internal.aliyuncs.com
說明如果您使用的是自訂OSS Bucket,則網域名稱為
${CustomizedOSSBucket}.oss-${RegionId}-internal.aliyuncs.com。
樣本中擷取華東1(杭州)ACR企業版相關網域名稱的IP如下:
名稱
網域名稱
IP地址
ACR企業版執行個體
xxxxxx-registry-vpc.cn-hangzhou.cr.aliyuncs.com
10.94.205.198
認證服務
dockerauth-vpc.cn-hangzhou.aliyuncs.com
100.103.7.181/32
OSS Bucket
oss-cn-hangzhou-internal.aliyuncs.com
100.118.28.43/32
步驟三:配置路由表
在華東2(上海)VPC2中,根據以下步驟將認證服務和OSS IP地址配置到路由表。
在華東2(上海)的雲企業網的轉寄路由器路由表中添加100.0.0.0/8(覆蓋認證服務和OSS IP的CIDR)的路由條目。
登入雲企業網管理主控台。
在云企业网实例頁面,找到目標雲企業網執行個體,單擊目標執行個體ID。
在頁簽,找到華東2(上海)的轉寄路由器執行個體,單擊目標執行個體ID。
在轉寄路由器執行個體詳情頁面,單擊转发路由器路由表頁簽。
在頁簽左側地區,單擊目標路由表ID,在路由表詳情頁面的路由條目頁簽下,單擊建立路由條目。
在添加路由條目對話方塊,配置路由條目資訊,然後單擊確定。
配置項
說明
操作截圖
目的地址CIDR
輸入路由條目的目標網段。
IPV4:100.0.0.0/8(覆蓋認證服務和OSS IP的CIDR)。

是否為黑洞路由
是否為黑洞路由:
否
下一跳串連
下一跳串連:
連線類型為TR,選擇步驟一:配置跨地區串連執行個體ID。
在華東1(杭州)的雲企業網的轉寄路由器路由表中添加100.0.0.0/8(覆蓋認證服務和OSS IP的CIDR)的路由條目。
在頁簽,找到華東1(杭州)的轉寄路由器執行個體,單擊目標執行個體ID。
在轉寄路由器執行個體詳情頁面,單擊转发路由器路由表頁簽。
在頁簽左側地區,單擊目標路由表ID,在路由表詳情頁面的路由條目頁簽下,單擊建立路由條目。
在添加路由條目對話方塊,配置路由條目資訊,然後單擊確定。
配置項
說明
操作截圖
目的地址CIDR
輸入路由條目的目標網段。
IPV4:100.0.0.0/8(覆蓋認證服務和OSS IP的CIDR)

是否為黑洞路由
是否為黑洞路由:
否
下一跳串連
下一跳串連:
連線類型為VPC,選擇華東1(杭州)的VPC執行個體ID。
步驟四:驗證訪問ACR企業版執行個體
登入華東2(上海)的ECS2使用
ping命令分別測試華東1(杭州)地區的ACR企業版執行個體三個IP,並做本地區名解析。vim /etc/hosts 10.94.205.198 xxxxxx-registry-vpc.cn-hangzhou.cr.aliyuncs.com 100.103.7.181 dockerauth-vpc.cn-hangzhou.aliyuncs.com 100.118.28.43 ${OSSBucketName}.oss-cn-hangzhou-internal.aliyuncs.com使用
docker login登入容器鏡像倉庫,然後執行docker pull命令,拉取鏡像。說明關於推送和拉取鏡像的詳細介紹,請參見使用企業版執行個體推送和拉取鏡像。

如何解決100網段IP衝突問題
在配置路由規則時,認證網域名稱和OSS網域名稱解析的IP地址都屬於100網段。如果您的內網中也使用了該網段的IP,可能會導致訪問Container Registry企業版時與認證網域名稱和OSS網域名稱發生衝突。為了避免這種衝突,您使用以下步驟來解決100網段的衝突問題。
認證網域名稱網段衝突
您可以通過開啟執行個體接管認證網域名稱功能,只需訪問執行個體網域名稱解決認證網域名稱網段衝突問題。
在頂部功能表列,選擇所需地區。
在執行個體列表頁面單擊目標企業版執行個體。
在企業版執行個體管理頁面左側導覽列選擇 ,在網域名稱管理頁面開啟執行個體接管認證網域名稱開關。
重要執行個體接管認證網域名稱功能,您需要提交工單為企業版執行個體添加白名單後才能使用。
在確認開啟執行個體接管認證網域名稱,單擊確定。
OSS網域名稱網段衝突
您可以通過PrivateLink私網訪問OSS資源,然後將原目標的OSS網域名稱CNAME指向PrivateLink的網域名稱。
