Rolling Update - 每天5分钟玩转 Docker 容器技术(140)
滾動更新是一次只更新一小部分副本,成功后,再更新更多的副本,最終完成所有副本的更新。滾動更新的最大的好處是零停機,整個更新過程始終有副本在運行,從而保證了業(yè)務(wù)的連續(xù)性。
下面我們部署三副本應(yīng)用,初始鏡像為 httpd:2.2.31,然后將其更新到 httpd:2.2.32。
httpd:2.2.31 的配置文件如下:
通過?kubectl apply?部署。
部署過程如下:
創(chuàng)建 Deployment?httpd
創(chuàng)建 ReplicaSet?httpd-551879778
創(chuàng)建三個 Pod
當前鏡像為?httpd:2.2.31
將配置文件中?httpd:2.2.31?替換為?httpd:2.2.32,再次執(zhí)行?kubectl apply。
我們發(fā)現(xiàn)了如下變化:
Deployment?httpd?的鏡像更新為?httpd:2.2.32
新創(chuàng)建了 ReplicaSet?httpd-1276601241,鏡像為?httpd:2.2.32,并且管理了三個新的 Pod。
之前的 ReplicaSet?httpd-551879778?里面已經(jīng)沒有任何 Pod。
結(jié)論是:ReplicaSet?httpd-551879778?的三個?httpd:2.2.31?Pod 已經(jīng)被 ReplicaSet?httpd-1276601241?的三個?httpd:2.2.32?Pod 替換了。
具體過程可以通過?kubectl describe deployment httpd?查看。
每次只更新替換一個 Pod:
ReplicaSet?httpd-1276601241?增加一個 Pod,總數(shù)為 1。
ReplicaSet?httpd-551879778?減少一個 Pod,總數(shù)為 2。
ReplicaSet?httpd-1276601241?增加一個 Pod,總數(shù)為 2。
ReplicaSet?httpd-551879778?減少一個 Pod,總數(shù)為 1。
ReplicaSet?httpd-1276601241?增加一個 Pod,總數(shù)為 3。
ReplicaSet?httpd-551879778?減少一個 Pod,總數(shù)為 0。
每次替換的 Pod 數(shù)量是可以定制的。Kubernetes 提供了兩個參數(shù)?maxSurge?和?maxUnavailable?來精細控制 Pod 的替換數(shù)量,我們將在后面結(jié)合 Health Check 特性一起討論。
下一節(jié)我們討論如何回滾。
書籍:
1.《每天5分鐘玩轉(zhuǎn)Docker容器技術(shù)》
https://item.jd.com/16936307278.html
2.《每天5分鐘玩轉(zhuǎn)OpenStack》
https://item.jd.com/12086376.html
總結(jié)
以上是生活随笔為你收集整理的Rolling Update - 每天5分钟玩转 Docker 容器技术(140)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 偏度与峰度的正态性分布判断
- 下一篇: 房贷利率一涨再涨,为什么排队买房的越来越