Kubernetes 不同的升级策略是如何影响服务质量 QoS 的
Kubernetes 不同的升级策略是如何影响服务质量 QoS 的
无论采取哪种升级方式, 都应该在容器中使用 probe , 降低业务抖动
Pod 升级策略 .spec.strategy.type
有两种方式可选:
RollingUpdate
: 滚动升级..spec.strategy.rollingUpdate.maxUnavailable
最大不可用 , 默认25%
, 即升级期间, 总容器数量为 100%。 循环 删旧扩新.spec.strategy.rollingUpdate.maxSurge
最大弹性, 默认30%
, 即升级期间, 总容器数量不超过 130%。 循环 扩新删旧
Recreate
: 重建, 即先删除老的容器再运行新的容器- 常用于有限资源的 Pod 上, 比如 GPU
升级过程中的 QoS
strategy
的 三种规则, 其实也是服务 QoS 的体现。
RollingUpdate
maxSurge
: 实际上是服务的最高保障, 在升级过程中, 最大可用容器数量始终为 100%, 保证了服务在升级过程中的业务承载能力。maxUnavailable
: 次高保障。 在升级过程中, 由于会有(默认 25%) 部分 POD 先被关闭,因此服务最高承载能力实际上是被削减了的。maxUnavailable
的比例也到, 承载能力削减越重。
maxSurge
和maxUnavailbable
的选型方法。
1. 业务特别重要, 不接受性能抖动。 优先选择maxSurge
。 使用资源换取稳定性。 2. 业务允许接受抖动 或 资源不是特别充裕 , 可以选择maxUnavailable
。 使用稳定性换取资源。
Recreate
: 最低保障。 容器会全部全部关闭再启动。 适用于资源紧张且服务不那么重要的场景。
- 原文链接:https://typonotes.com/posts/2023/01/03/kubernetes-upgrade-strategy-and-qos/
- 本文为原创文章,转载注明出处。
- 欢迎 扫码关注公众号
Go与云原生
或 订阅网站 https://typonotes.com/ 。 - 第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「在看」,感谢支持。