共計 1000 個字符,預計需要花費 3 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關如何理解 Rolling Update,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Rolling Update 是一次只更新一小部分副本,成功后,再更新更多的副本,最終完成所有副本的更新。滾動更新的最大的好處是零停機,整個更新過程始終有副本在運行,從而保證了業務的連續性。
下面我們部署三副本應用,初始鏡像為 httpd:2.2.31,然后將其更新到 httpd:2.2.32。
httpd:2.2.31 的配置文件如下:
通過 kubectl apply 部署。
我們發現了如下變化:
Deployment httpd 的鏡像更新為 httpd:2.2.32
新創建了 ReplicaSet httpd-1276601241,鏡像為 httpd:2.2.32,并且管理了三個新的 Pod。
之前的 ReplicaSet httpd-551879778 里面已經沒有任何 Pod。
結論是:ReplicaSet httpd-551879778 的三個 httpd:2.2.31 Pod 已經被 ReplicaSet httpd-1276601241 的三個 httpd:2.2.32 Pod 替換了。
具體過程可以通過 kubectl describe deployment httpd 查看。
每次只更新替換一個 Pod:
ReplicaSet httpd-1276601241 增加一個 Pod,總數為 1。
ReplicaSet httpd-551879778 減少一個 Pod,總數為 2。
ReplicaSet httpd-1276601241 增加一個 Pod,總數為 2。
ReplicaSet httpd-551879778 減少一個 Pod,總數為 1。
ReplicaSet httpd-1276601241 增加一個 Pod,總數為 3。
ReplicaSet httpd-551879778 減少一個 Pod,總數為 0。
每次替換的 Pod 數量是可以定制的。Kubernetes 提供了兩個參數 maxSurge 和 maxUnavailable 來精細控制 Pod 的替換數量,我們將在后面結合 Health Check 特性一起討論。
關于如何理解 Rolling Update 就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。