【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

Kubernetes 滚动更新速率控制解读

  • 2019-12-09
  • 本文字数:893 字

    阅读完需:约 3 分钟

Kubernetes滚动更新速率控制解读

1 含义

服务在滚动更新时,deployment 控制器的目的是:给旧版本(old_rs)副本数减少至 0、给新版本(new_rs)副本数量增至期望值(replicas)。大家在使用时,通常容易忽视控制速率的特性,以下是 kubernetes 提供的两个参数:


  1. maxUnavailable:和期望 ready 的副本数比,不可用副本数最大比例(或最大值),这个值越小,越能保证服务稳定,更新越平滑;

  2. maxSurge:和期望 ready 的副本数比,超过期望副本数最大比例(或最大值),这个值调的越大,副本更新速度越快。

2 取值范围

数值

  1. maxUnavailable: [0, 副本数]maxSurge: [0, 副本数]

  2. maxSurge: [0, 副本数]


注意:两者不能同时为 0。

比例

  1. maxUnavailable: [0%, 100%] 向下取整,比如 10 个副本,5%的话==0.5 个,但计算按照 0 个;

  2. maxSurge: [0%, 100%] 向上取整,比如 10 个副本,5%的话==0.5 个,但计算按照 1 个;


注意:两者不能同时为 0。

建议配置

  1. maxUnavailable == 0

  2. maxSurge == 1


这是我们生产环境提供给用户的默认配置。即“一上一下,先上后下”最平滑原则:1 个新版本 pod ready(结合 readiness)后,才销毁旧版本 pod。此配置适用场景是平滑更新、保证服务平稳,但也有缺点,就是“太慢”了。

3 自定义策略

Deployment controller 调整 replicaset 数量时,严格通过以下公式来控制发布节奏。所以,如需快速发布,可根据实际情况去调整这两个值:


(目标副本数-maxUnavailable) <= 线上实际Ready副本数 <= (目标副本数+maxSurge)
复制代码


举例:如果期望副本数是 10,期望能有至少 80%数量的副本能稳定工作,所以:maxUnavailable = 2,maxSurge = 2 (可自定义,建议与 maxUnavailable 保持一致)


8 <= 线上实际Ready副本数 <= 12
复制代码


这样,更新过程中,线上能够正常提供服务的 pod 数总会保持在这个区间内。

4 总结

本文解释了 kubernetes 最易忽略的“滚动更新策略中控制更新速率”的特性:maxUnavailable 与 maxSurge,希望能对你在发布版本时有所帮助。


后续文章会带来 deployment controller 在多版本(replicaset)下控制滚动更新的原理,并分析其相应源码实现逻辑。


本文转载自公众号 360 云计算(ID:hulktalk)。


原文链接:


https://mp.weixin.qq.com/s/n73lMqYb5yZbpOprJdl01g


2019-12-09 10:432466

评论

发布
暂无评论
发现更多内容

总投入超5000万元的开源大赛火热报名中

开放原子开源基金会

开源

汇聚开源力量,赋能软件发展,开放原子开源基金会携开源展区亮相软博会,开源展区现场引关注!

开放原子开源基金会

开源

Navicat Premium 16 Mac(多连接数据库管理工具)v16.2.7中文破解版

晴雯哥

区块链媒体宣发:区块链项目推广一站式服务商

西安链酷科技

新媒体 媒体服务

ipp swap质押挖矿模式系统开发方案

V\TG【ch3nguang】

挖矿矿池系统开发案例

愿意折腾、相信未来的年青人,都在2050

赵新龙

TGO鲲鹏会 2050

软件测试/测试开发丨Selenium Web自动化测试 高级控件交互方法

测试人

Python 程序员 软件测试 自动化测试 selenium

龙蜥携手平头哥完成算能 SG2042 平台支持,推动 RISC-V 持续向高性能应用演进

OpenAnolis小助手

芯片 risc-v 龙蜥社区 平头哥 2023 RISC-V 中国峰会

什么样的家庭条件,现在还招人?

赵新龙

TGO鲲鹏会 招聘

孙文龙理事长参加第二十五届中国国际软件博览会开幕式并发表主题演讲

开放原子开源基金会

趣步运动挖矿模式dapp系统开发经济模型分析

西安链酷科技

区块链游戏 NFT链游 链游开发

码了!6个提升程序员软技能与效率的必备工具

这我可不懂

工具 前端工具

Databend 开源周报第 109 期

Databend

dapp开发公司价格

西安链酷科技

区块链 DAPP系统开发

如何选择可靠的海外住宅代理ip?稳定性测试必不可少

摘星星的猫

充满信心地发布您的代币:我们专业的 IDO 代币启动板开发服务

区块链软件开发推广运营

数字藏品开发 dapp开发 区块链开发 链游开发 NFT开发

打造次世代分析型数据库(一):CDW PG全面升级

腾讯云大数据

数据库

校源行丨2023开放原子校源行开源大使名单

开放原子开源基金会

Apache Doris 2.0.1 & 1.2.7 版本正式发布!

SelectDB

数据库 大数据 优化 apache 社区

Text Workflow for mac(文本工作流程) 1.6.5中文激活版

mac

苹果mac Windows软件 Text Workflow

接入 NVIDIA A100、吞吐量提高 10 倍!Milvus GPU 版本使用指南

Zilliz

nvidia 非结构化数据 Milvus Zilliz 向量数据库

喜讯!极限科技再次中标中国移动云 Elasticsearch 自研版技术开发服务项目!

极限实验室

elasticsear 极限科技 中国移动云

持币生息理财模式系统开发(源码搭建)

西安链酷科技

DAPP系统开发 积分商城 链上商城

OpenAI公司说它是“实现通用人工智能最有前途方法之一”

博文视点Broadview

低代码是什么?看这篇就够了

高端章鱼哥

软件开发 低代码

查询性能提升10倍!喜马拉雅广告倒排索引设计实践

喜马拉雅技术团队

lucene 性能优化 倒排索引 喜马拉雅

墨迹天气黄耀海:深耕气象技术并与服务场景深度融合,AI全面激活气象服务的跃迁

Geek_2d6073

达芬奇DaVinci Resolve Studio 18 for Mac(达芬奇调色软件) 18.5.1中文激活版

mac

达芬奇 苹果mac Windows软件 调色软件

优雅编码!Java与MongoDB的创新数据库架构

树上有只程序猿

Java mongodb 优雅编码

JetBrains WebStorm v2023.2.1 for Mac(智能javascript语言集成开发环境)

晴雯哥

西安链游开发 链游开发成本 链游开发周期

西安链酷科技

智能合约 DAPP系统开发 链游开发

Kubernetes滚动更新速率控制解读_文化 & 方法_360云计算_InfoQ精选文章