操作場景
容器鏡像服務可搭配云容器引擎CCE一起使用,實現鏡像版本更新時自動更新使用該鏡像的應用。您只需要為鏡像添加一個觸發器,通過觸發器,可以在每次生成新的鏡像版本時,自動執行更新動作,如:自動更新使用該鏡像的應用。
前提條件
更新應用鏡像版本之前,請確保已創建容器應用,將鏡像部署到云容器引擎CCE或云容器實例CCI。
如未創建,請登錄云容器引擎工作負載頁面進行創建,具體創建方法請參見云容器引擎用戶指南。
操作步驟
步驟 1 登錄容器鏡像服務控制臺。
步驟 2 在左側導航欄選擇“我的鏡像”,單擊右側鏡像名稱,進入鏡像詳情頁。
步驟 3 選擇“觸發器”頁簽,單擊“添加觸發器”,填寫相關參數,然后單擊“確定”。
圖 添加觸發器


表 觸發器
| 參數 | 說明 |
|---|---|
| 觸發器名稱 | 自定義觸發器的名稱。字母開頭,由字母、數字、下劃線_、中劃線-組成,下劃線、中劃線不能連續且不能作為結尾,1-64個字符。 |
| 觸發條件 | 支持如下三種觸發條件,當鏡像有新版本時,觸發部署應用。 全部觸發:有新的鏡像版本生成或鏡像版本發生更新時,觸發部署。 指定版本號觸發:有指定鏡像版本生成或更新時,觸發部署。 正則觸發:有符合正則表達式的鏡像版本生成或更新時,觸發部署。正則表達式規則如下: ? ***** :匹配不包含路徑分隔符“/”的任何字段。 ? ****** :匹配包含路徑分隔符“/”的任何字段。 ??:匹配任何單個非“/”的字符。 ?{選項1, 選項2, ...}:同時匹配多個選項。 |
| 觸發動作 | 當前僅支持更新容器的鏡像,需指定更新的應用,以及該應用下的容器。 |
| 觸發器狀態 | 選擇“啟用”。 |
| 觸發器類型 | 選擇“云容器引擎CCE”。 |
| 選擇應用 | 選擇要更新鏡像的容器。 |
示例1:觸發條件為“全部觸發”
假設有一個歡迎頁面為“Hello, SWR!”的Nginx鏡像(版本號為v1),使用該鏡像創建了名稱為“nginx”的無狀態負載,該負載提供對外訪問。


- 為Nginx鏡像添加觸發器。
觸發器名稱填寫“All_tags”,觸發條件選擇“全部觸發”,選擇使用了Nginx鏡像的無狀態負載及容器。
- 為Nginx鏡像新增一個v2版本,該版本的歡迎頁面為“Hello, SoftWare Repository for Container!”。
- 確認是否觸發成功。
在“觸發器”頁簽,單擊
圖標,查看觸發結果為“成功”。
圖 觸發結果


工作負載的訪問頁面已變更為“Hello, SoftWare Repository for Container!”。


示例2:觸發條件為“正則觸發”
假設有一個歡迎頁面為“Hello, SWR!”的Nginx鏡像(版本號為v1),使用該鏡像創建了名稱為“nginx”的無狀態負載,該負載提供對外訪問。


- 為Nginx鏡像添加觸發器。
觸發器名稱填寫“Tags_regular_expression”,觸發條件選擇“正則觸發”,輸入正則表達式:^v2.*(匹配以v2開頭的版本號),選擇使用了Nginx鏡像的無狀態負載及容器。
-
為Nginx鏡像新增一個v1.0.0版本,該版本的歡迎頁面為“Hello, SWR! (v1.0.0)”。
-
為Nginx鏡像再新增一個v2.0.0版本,該版本的歡迎頁面為“Hello, SWR! (v2.0.0)”。
-
確認是否觸發成功。
在“觸發器”頁簽,單擊
圖標,查看觸發結果。可以看出,只有v2.0.0版本被觸發了應用的自動更新,符合設置的正則表達式規則。
圖 觸發結果示例


工作負載的訪問頁面已變更為“Hello, SWR! (v2.0.0)”。

