当前位置: 首页 > news >正文

解释滚动更新的过程,如何通过`kubectl set image`命令触发更新? 版本回滚的命令是什么?如何查看Deployment的更新历史?

Kubernetes滚动更新机制及操作指南

滚动更新过程解析
  1. Kubernetes通过逐步替换Pod的方式实现无中断更新
  2. 更新流程:
    • 创建新版本ReplicaSet(基于更新后的镜像)
    • 逐步增加新Pod数量(默认每次+25%)
    • 同步减少旧Pod数量(默认每次-25%)
    • 持续此过程直到全部Pod更新完成
  3. 更新策略参数(通过maxSurgemaxUnavailable控制更新节奏)
触发滚动更新操作
# 通过修改容器镜像触发滚动更新(示例)
kubectl set image deployment/<DEPLOYMENT_NAME> <CONTAINER_NAME>=<NEW_IMAGE>:<TAG># 具体示例(更新nginx容器的镜像到1.19版本)
kubectl set image deployment/nginx-deploy nginx=nginx:1.19
版本回滚操作
# 回滚到上一个版本
kubectl rollout undo deployment/<DEPLOYMENT_NAME># 回滚到指定历史版本(需结合更新历史查看)
kubectl rollout undo deployment/<DEPLOYMENT_NAME> --to-revision=<REVISION_NUMBER>
查看更新历史记录
# 查看Deployment更新历史列表
kubectl rollout history deployment/<DEPLOYMENT_NAME># 查看特定版本的详细配置
kubectl rollout history deployment/<DEPLOYMENT_NAME> --revision=<REVISION_NUMBER>
操作验证命令
# 查看更新进度状态
kubectl rollout status deployment/<DEPLOYMENT_NAME># 查看ReplicaSet创建历史
kubectl get rs

操作注意事项:

  1. 更新前建议使用--record参数记录命令(kubectl set image ... --record
  2. 回滚操作会创建新的ReplicaSet,保留完整版本历史
  3. 可使用kubectl describe deployment/<DEPLOYMENT_NAME>查看详细事件日志

相关文章:

  • 《Python 应用中的蓝绿部署与滚动更新:持续集成中的实践与优化》
  • 【VSCode-Qt】Docker远程连接的项目UI文件在 VSCode 上无法预览
  • 【基于SpringBoot的图书购买系统】操作Jedis对图书图书的增-删-改:从设计到实战的全栈开发指南
  • 聊聊 Metasploit 免杀
  • BPE、WordPiece 与 Unigram:三种主流子词分词算法对比
  • linux有效裁剪视频的方式(基于ffmpeg,不改变分辨率,帧率,视频质量,不需要三方软件)
  • C# 导出word 插入公式问题
  • 跟Gemini学做PPT-模板样式的下载
  • apptrace 的优势以及对 App 的价值
  • Axure设计案例——科技感渐变柱状图
  • 微软 Azure AI Foundry(国际版)十大重要更新
  • Kubernetes资源申请沾满但是实际的资源占用并不多,是怎么回事?
  • mysql一主多从 k8s部署实际案例
  • ssm学习笔记(尚硅谷) day1
  • 从融智学视角对决策态度进行定理级提炼,结合三标准数学建模
  • 微服务测试困境?Parasoft SOAtest的自动化、虚拟化与智能分析来袭!
  • 代码随想录打卡|Day51 图论(dijkstra(堆优化版)精讲、Bellman_ford 算法精讲)
  • 【前端】Twemoji(Twitter Emoji)
  • LeetCode 215:数组中的第K个最大元素 - 两种高效解法详解
  • 力扣-最长回文子串
  • 做盗版网站会坐牢吗/搜索引擎优化免费
  • 个人网站设计论文php/关键词点击排名软件
  • 罗湖网站建设公司/今日头条号官网
  • 做lol数据的网站/营销伎巧第一季
  • 成都手机端建站模板/乐陵市seo关键词优化
  • 深圳企业模板建站/网站推广排名服务