天天看點

使用阿裡雲容器服務K8S進行藍綠釋出

首先,讓我們建立一個新的nginx-alicloud版本的部署。單擊“無狀态”頁面中的“按模闆建立”按鈕。

使用阿裡雲容器服務K8S進行藍綠釋出

在Resource Type中選擇basic Deployment,

将name更改為nginx-alicloud2,

并将replicas的值更改為1;

同時更改兩者比對matchLabels的app以及labes的app到nginx2,然後改變containers.name到nginx2;

将image更改為cr.registry.acloud........test/nginx:v2,然後單擊“建立”。

使用阿裡雲容器服務K8S進行藍綠釋出
使用阿裡雲容器服務K8S進行藍綠釋出

回到“無狀态”我們可以看到新的nginx-alicloud2和容器組(Pods)。

使用阿裡雲容器服務K8S進行藍綠釋出

去到服務資源頁面,點選 View in YAML,

使用阿裡雲容器服務K8S進行藍綠釋出

修改selector.app為nginx2.在背景pods中選擇nginx2作為app标簽值的pod來提供服務。單擊“更新”。

使用阿裡雲容器服務K8S進行藍綠釋出

點選nginx-alicloud的外部端點。

使用阿裡雲容器服務K8S進行藍綠釋出

現在我們可以看到nginx的預設頁面已經更新到V2。如果頁面仍然顯示V1,則浏覽器緩存可能是導緻此問題的一個原因。我們需要重新整理頁面。

使用阿裡雲容器服務K8S進行藍綠釋出

如果服務需要復原,請更改selector.app在nginx alicloud中傳回nginx,即使用舊版本的pods提供服務。然後單擊“更新”完成復原。

使用阿裡雲容器服務K8S進行藍綠釋出

單擊外部端點,我們可以看到版本已復原到V1。

使用阿裡雲容器服務K8S進行藍綠釋出

如果新版本功能正常,我們可以在部署中删除舊版本的nginx-alicloud。舊版本的pod資源也将在删除完成後自動釋放。

使用阿裡雲容器服務K8S進行藍綠釋出

繼續閱讀