回滾 - 每天5分鐘玩轉 Docker 容器技術(141)

kubectl apply 每次更新應用時 Kubernetes 都會記錄下當前的配置,保存爲一個 revision(版次),這樣就可以回滾到某個特定 revision。

默認配置下,Kubernetes 只會保留最近的幾個 revision,可以在 Deployment 配置文件中通過 revisionHistoryLimit 屬性增加 revision 數量。

下面實踐回滾功能。應用有如下三個配置文件 httpd.v1.ymlhttpd.v2.yml 和 httpd.v3.yml,分別對應不同的 httpd 鏡像 2.4.162.4.17 和 2.4.18

通過 kubectl apply 部署並更新應用:

--record 的作用是將當前命令記錄到 revision 記錄中,這樣我們就可以知道每個 revison 對應的是哪個配置文件。通過 kubectl rollout history deployment httpd 查看 revison 歷史記錄。

CHANGE-CAUSE 就是 --record 的結果。如果要回滾到某個版本,比如 revision 1,可以執行命令 kubectl rollout undo deployment httpd --to-revision=1

此時,revison 歷史記錄也會發生相應變化。

revison 1 變成了 revison 4。不過我們可以通過 CHANGE-CAUSE 知道每個 revison 的具體含義。所以一定要在執行 kubectl apply 時加上 --record參數。

滾動更新我們就討論到這裏,下一節開始學習 k8s 的 Health Check 功能。

書籍:
1.《每天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html

2.《每天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章