SAE與ACR屬於不同帳號的情況下,首先確保SAE應用與ACR執行個體網路可達,然後配置訪問ACR執行個體的授權資訊,最後輸入鏡像倉庫的地址來部署應用。
前提條件
確保SAE應用與ACR執行個體網路可達
需要跨VPC打通網路,或者為應用所在的VPC開啟公網NAT Gateway。對於ACR企業版執行個體,還需要將SAE應用所在的VPC網段,或者NAT Gateway綁定的Elastic IP Address地址,添加到ACR執行個體的白名單中。
配置訪問ACR執行個體的授權資訊
授權方式可以採用靜態使用者名稱和密碼,也可以採用Ram Role。
靜態使用者名稱和密碼
建立保密字典,用於儲存鏡像倉庫的使用者名稱和密碼:在命名空間頁面,選擇目標地區,單擊目標命名空間,在左側導覽列選擇保密字典,單擊建立。
類型選擇私人鏡像倉庫登入密鑰。
鏡像倉庫地址中,輸入ACR的公網網域名稱,例如,ACR個人版:
registry.cn-xx.aliyuncs.com;ACR企業版:xx-registry.cn-xx.cr.aliyuncs.com。輸入登入鏡像倉庫所需的使用者名稱和密碼。
Ram Role
SAE能夠通過RAM角色扮演的方式實現跨帳號拉取阿里雲鏡像,即使用者A(部署SAE應用的帳號使用者)扮演使用者B(ACR鏡像所屬帳號使用者)的角色拉取使用者B的私人鏡像。
建立RAM角色:通過使用者B的阿里雲帳號,建立使用者A的RAM角色。具體操作,請參見建立可信實體為阿里雲帳號的RAM角色。
配置權限原則:建立自訂權限原則或修改自訂權限原則,添加以下策略內容,表示允許私人鏡像的相關操作。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cr:GetAuthorizationToken", "cr:ListInstanceEndpoint", "cr:PullRepository", "cr:GetRepository", "cr:ListRepositoryTag" ], "Resource": "*" } ] }為RAM角色授予權限原則:為步驟1建立的RAM角色,授予步驟2配置的權限原則。具體操作,請參見為RAM角色授權。
修改RAM角色的可信實體:將步驟1建立的RAM角色的可信實體改為SAE服務帳號,即修改以下信任策略。具體操作,請參見修改RAM角色的信任策略。
修改前
修改後
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "RAM": [ "acs:ram::123456789012****:root" ] } } ], "Version": "1" }該RAM角色可以被阿里雲帳號(AccountID=123456789012****)下授權的任何RAM使用者、RAM角色扮演。
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "123456789012****@sae.aliyuncs.com" ] } } ], "Version": "1" }該RAM角色僅可以被阿里雲帳號(AccountID=123456789012****)對應的SAE服務帳號(123456789012****@sae.aliyuncs.com)扮演。
說明本樣本中的
Service為待跨帳號拉取鏡像的服務。複製ARN:在RAM角色的基本資料頁面一鍵複製ARN。這是您在後續部署應用時需要填入的acrAssumeRoleArn。
操作步驟
在SAE應用列表中,在頂部選擇目標地區和命名空間,點擊建立應用。
選擇應用版本。
重要輕量版和專業版目前處於邀約測試階段。未參與邀約測試的使用者,建立的應用為標準版,無需選擇應用版本。
輕量版:提供應用運行所需最小功能集,不支援應用監控和微服務治理功能。
標準版:內建基礎應用監控功能,進階應用程式監控和微服務治理功能需要額外開通購買。
專業版:內建進階應用程式監控和微服務治理功能,無需額外開通購買。
在建立應用頁面,自訂應用程式名稱,並配置以下參數資訊。
選擇應用所屬的命名空間類型。命名空間相當於K8s的Namespace,可用於不同環境的資源隔離。建立應用後不支援更改其所屬的命名空間,請提前做好規劃。
應用部署方式設定為選擇鏡像部署,單擊右側的設定鏡像。在其它阿里雲帳號私人鏡像標籤頁,配置以下資訊。
選擇您的ACR鏡像服務版本,然後從以下選擇一種授權方式。對於ACR企業版,還需要輸入企業版執行個體ID。
靜態使用者名稱和密碼:需選擇此前建立的儲存鏡像倉庫使用者名稱和密碼的保密字典。
Ram Role:需輸入此前複製的acrAssumeRoleArn。
輸入完整鏡像倉庫地址,其格式是
<鏡像倉庫地址>:<鏡像Tag>,例如:ACR個人版:registry.cn-xx.aliyuncs.com/xx/xx:1.0;ACR企業版:xx-registry.cn-xx.cr.aliyuncs.com/xx/xx:1.0。注意:需要按實際的網路設定來決定使用公網還是私網的鏡像倉庫地址。對於ACR企業版,您可以啟用鏡像加速功能來提升應用啟動速度。
在容量設定地區,設定資源類型、單一實例規格和執行個體數。
(可選)單擊下一步:進階設定,配置所需功能。
單擊一鍵建立應用或建立應用。
建立應用大約需要1~2分鐘,可以通過查看變更記錄來判斷應用是否部署成功。若部署失敗,則不會產生應用執行個體,請根據變更詳情中的報錯資訊排查故障。
可以在中查看已建立的應用。如需在部署後變更應用配置,可以單擊目標應用進入其詳情頁,然後在頂部單擊部署應用或修改應用配置。注意應用將會自動重啟以使新配置生效,請在業務低峰期執行操作。
可以通過Webshell登入應用執行個體,通過控制台命令與應用執行個體進行互動。
建立應用後,可以手動調整執行個體數量與執行個體規格,或通過配置Auto Scaling策略來自動調整執行個體數量。還可以通過開啟閑置模式來降低成本。

