基於阿里雲事件匯流排EventBridge,可以實現上傳鏡像到ACR企業版執行個體後,在ACS中使用新上傳鏡像自動製作鏡像緩衝,加速鏡像拉取過程,從而提升Pod的啟動速度。
適用範圍
已建立專用網路與交換器並配置安全性群組。
步驟一:配置ACR執行個體
在左側導覽列,選擇執行個體列表。
在執行個體列表頁面單擊目標企業版執行個體。
在企業版執行個體管理頁面左側導覽列中選擇。然後在专有网络頁簽下,單擊添加專有網絡,添加已建立的VPC。
單擊,單擊创建规则,事件类型選擇cr:Artifact:PushCompleted,然後按需選擇生效范围。
事件通知的具體配置不影響後續操作,配置完成即可。
步驟二:建立RAM權限原則
使用Resource Access Management員登入RAM控制台。
在左側導覽列,選擇許可權管理 > 權限原則。
在權限原則頁面,單擊建立權限原則。
在建立權限原則頁面,單擊指令碼編輯頁簽。
輸入權限原則內容,然後單擊確定。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "acc:CreateImageCache", "Resource": "*" }, { "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": "imc.acc.aliyuncs.com" } } } ] }輸入策略名稱稱和備忘,然後單擊確定。
步驟三:配置事件匯流排
- 登入事件匯流排EventBridge控制台。
在頂部功能表列,選擇與VPC相同的地區。
- 在左側導覽列,單擊事件匯流排。
在default事件匯流排的操作列單擊事件规则,在規則列表中可以看到步驟一:配置ACR執行個體中建立的事件規則。在該規則的操作列單擊编辑事件目标,然後單擊添加目标,填入下方選項:
選項
值
事件源
acr.cr
事件类型
cr:Artifact:PushCompleted
服务类型
acs.openapi.acc
接口类型
CreateImageCache
RegionId
選擇模版:
变量:
{ "InstanceName":"$.data.InstanceName", "RegionId":"$.data.RegionId", "RepoName": "$.data.RepoName", "RepoNamespaceName": "$.data.RepoNamespaceName", "Tag": "$.data.Tag" }模板
${RegionId}
ImageCacheName
選擇模版:
变量:
{ "InstanceName":"$.data.InstanceName", "RegionId":"$.data.RegionId", "RepoName": "$.data.RepoName", "RepoNamespaceName": "$.data.RepoNamespaceName", "Tag": "$.data.Tag" }模板
${RepoNamespaceName}-${RepoName}-${Tag}
Images
選擇模版:
变量:
{ "InstanceName":"$.data.InstanceName", "RegionId":"$.data.RegionId", "RepoName": "$.data.RepoName", "RepoNamespaceName": "$.data.RepoNamespaceName", "Tag": "$.data.Tag" }模板
${InstanceName}-registry-vpc.${RegionId}.cr.aliyuncs.com/${RepoNamespaceName}/${RepoName}:${Tag}
NetworkConfig
VSwitchIds:填入提前準備的交換器ID。
SecurityGroupId:填入提前準備的安全性群組ID。
角色配置
單擊授权创建新角色,然後使用Resource Access Management員登入RAM控制台,為建立角色(AliyunEventBridgeOpenApi-******)授予步驟二中建立的許可權。
重试和死信
選擇指数衰减重试和允许容错。
步驟四:效果驗證
向ACR企業版執行個體推送鏡像,然後登入容器計算服務控制台,在左側導覽列選擇鏡像緩衝,查看鏡像緩衝是否自動製作完成。
相關文檔
事件匯流排EventBridge的計費規則,請參見計費概述。