共计 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 就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。