k8s教程:12.Rolling Update--實現我們的滾動更新

Hugo_Hoo發表於2020-10-24

今天是1024程式設計師節日,好不容易放個假,就繼續帶著大家學習一下k8s的基礎教程吧,消失了一段時間,不知道大家還記得以前的教程系列嗎?如果不清楚的,可以回看我之前的系列文章,溫故而知新啊!!
在前面的教程中我們學習了怎麼在k8s上部署我們的專案,接下來,就開始我們怎麼通過k8s去滾動更新我們的專案程式碼吧。
在K8s中,如果我們為一個專案容器建立多個pod的時候,當我們在進行pod中的容器映象更新時,k8s會幫助我們實現滾動更新,保證在實際的線上訪問始終保持至少一個可用pod在啟用,不會造成更新停機或者是業務中斷問題。
每次進行Rolling Update的時候,都會從第一個pod開始進行映象切換,當第一個pod完成映象更新並且容器正常啟動之後,才會進行下一個pod的映象更新,直到所有的pod完成本次的迭代更新操作。
下面我給大家簡單地演示整個滾動更新的過程:

  1. 部署三個相同映象版本的deployment
    在這裡插入圖片描述
    大家可以看到準備部署的yaml中httpd的映象版本為2.2.32,我們通過命令:
kubectl apply -f httpd.yaml

在這裡插入圖片描述
然後我們看到已經成功部署三個httpd的pod
在這裡插入圖片描述
並且通過檢視詳細資訊可以看到映象的版本是2.2.32
2. 修改yaml檔案中的容器映象
現在我們將映象的版本改成2.2.33,再執行命令,看看pod的映象是否會進行更新。
在這裡插入圖片描述
這時候,我們會看到映象的版本從原來的2.2.32已經更新為2.2.33了。

相關文章