使用應(yīng)用觸發(fā)器重新部署應(yīng)用
ACK集群支持應(yīng)用觸發(fā)器的功能,在創(chuàng)建觸發(fā)器后,您可以在檢測到特定事件(如資源狀態(tài)變化或性能指標(biāo)達到閾值)時,自動調(diào)用觸發(fā)器重啟應(yīng)用,實現(xiàn)智能化和高效的管理操作。
觸發(fā)器介紹
ACK提供了標(biāo)準(zhǔn)使用Kubernetes API的方式,使得集群中的應(yīng)用管理和運維更加簡便,同時也提供通過調(diào)用OpenAPI的方式重啟應(yīng)用。通過創(chuàng)建觸發(fā)器,您可以通過調(diào)用觸發(fā)器的OpenAPI接口來自動化地重新啟動指定的應(yīng)用,從而提高運維效率。
示例場景
場景 | 觸發(fā)動作 | 描述 |
配置更新觸發(fā)重啟 | 更新配置并重啟相關(guān)Pod | 監(jiān)測ConfigMap變化,當(dāng)配置發(fā)生變化時,可以通過調(diào)用觸發(fā)器的方式來重啟應(yīng)用。 |
外部觸發(fā)信號觸發(fā)部署 | 自動部署新版本應(yīng)用 | 當(dāng)新鏡像推送到鏡像倉庫時,通過Webhook自動觸發(fā)應(yīng)用部署,確保代碼更新后應(yīng)用自動更新。更多信息,請參見使用觸發(fā)器構(gòu)建容器DevOps。 |
前提條件
已創(chuàng)建ACK集群,參見創(chuàng)建ACK托管集群。
已創(chuàng)建一個應(yīng)用,用于創(chuàng)建應(yīng)用觸發(fā)器并測試觸發(fā)器的作用。本示例創(chuàng)建了一個Nginx應(yīng)用。具體操作,請參見創(chuàng)建無狀態(tài)工作負(fù)載Deployment。
操作步驟
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在無狀態(tài)頁面,找到Nginx應(yīng)用,單擊操作列下的詳情。
在Nginx應(yīng)用詳情頁面中,單擊觸發(fā)器頁簽,然后單擊創(chuàng)建觸發(fā)器。
在彈出的創(chuàng)建觸發(fā)器對話框,選擇觸發(fā)器行為為重新部署,然后單擊確定。
說明目前觸發(fā)器行為僅支持重新部署功能。
觸發(fā)器創(chuàng)建完畢后,Nginx應(yīng)用詳情頁面的觸發(fā)器欄中將展示一條觸發(fā)器鏈接。
復(fù)制該觸發(fā)器鏈接,在瀏覽器中訪問。
此時頁面會返回一條消息,包含狀態(tài)碼、請求ID等信息。
返回Nginx應(yīng)用詳情頁面,容器組頁簽,觀察出現(xiàn)的一個新Pod。
等待新Pod重新部署完畢后,Nginx應(yīng)用將會刪除舊Pod,只保留新Pod。
使用觸發(fā)器
您也可通過三方集成系統(tǒng)進行觸發(fā),使用GET或者POST都可以進行觸發(fā),例如使用curl命令觸發(fā)。
調(diào)用重新部署觸發(fā)器,如下所示:
curl https://cs.console.aliyun.com/hook/trigger?token=xxxxxxx