k8s滚动更新(六)

网友投稿 1163 2023-03-07

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

k8s滚动更新(六)

实践

滚动更新是一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新。滚动更新的最大的好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性。

第二步:部署应用并查看

部署过程如下:

创建三个 Pod

我们发现了如下变化:

每次只更新替换一个 Pod:

每次替换的 Pod 数量是可以定制的。Kubernetes 提供了两个参数 maxSurge 和 maxUnavailable 来精细控制 Pod 的替换数量,我们将在后面结合 Health Check 特性一起讨论。

更新回滚

kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision。

默认配置下,Kubernetes 只会保留最近的几个 revision,可以在 Deployment 配置文件中通过 revisionHistoryLimit 属性增加 revision 数量。

第一步:下面实践回滚功能。

第二步:部署应用并更新

后面一个部署的应用,会覆盖掉前面的(名称相同)

–record 的作用是将当前命令记录到 revision 记录中,这样我们就可以知道每个 revison 对应的是哪个配置文件。

CHANGE-CAUSE 就是 –record 的结果。

第五步:此时,revison 历史记录也会发生相应变化。

revison 1 变成了 revison 4。不过我们可以通过 CHANGE-CAUSE 知道每个 revison 的具体含义。所以一定要在执行 kubectl apply 时加上 –record参数。

上一篇:k8s健康检查(七)
下一篇:linux运维学习视频(linux运维自学要多久时间)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~