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

kubectl set image

一、核心用法

这个命令的核心逻辑是:kubectl set image <资源类型>/<资源名> <容器名>=<新镜像地址> [选项]简单说就是 “告诉 K8s,把某个资源里的某个容器,换成新的镜像”。

1. 基础语法(最常用)

bash
 
运行
 
 
 
 
# 更新 Deployment 中的容器镜像
kubectl set image deployment/<deployment名> <容器名>=<新镜像>:<版本># 示例:把名为 nginx-deploy 的 Deployment 里的 nginx 容器,换成 1.25 版本镜像
kubectl set image deployment/nginx-deploy nginx=nginx:1.25
 

2. 进阶用法

bash
 
运行
 
 
 
 
# 一次性更新多个容器的镜像(多个容器用空格分隔)
kubectl set image deployment/app-deploy app=myapp:v2 mysql=mysql:8.0# 更新 DaemonSet/StatefulSet (语法和 Deployment 一致)
kubectl set image daemonset/node-agent agent=node-agent:v1.3
kubectl set image statefulset/redis redis=redis:7.0# 从文件读取镜像更新(适合批量操作)
kubectl set image -f deployment.yaml app=myapp:v3# 查看更新后的镜像(验证用)
kubectl set image deployment/nginx-deploy --list
 

二、关键细节(避坑指南)

  1. 必须匹配容器名<容器名> 要和 Deployment/YAML 里定义的 spec.containers.name 完全一致,否则会报错 “容器不存在”。
  2. 自动触发滚动更新:更新 Deployment 镜像后,K8s 会自动触发滚动更新,逐步替换旧 Pod,不中断服务(前提是配置了合理的副本数和更新策略)。
  3. 支持镜像简写:如果镜像地址和旧镜像一致,只改版本,可简写为 容器名=:新版本(比如 nginx=:1.26)。
  4. 回滚超简单:如果更新后出问题,用 kubectl rollout undo deployment/nginx-deploy 一键回滚到上一个版本。

三、实操示例(新手友好)

假设你有一个名为 todo-app 的 Deployment,里面有两个容器:frontend(前端)和 backend(后端),现在要把后端镜像从 todo-backend:v1 更改为 todo-backend:v2
bash
 
运行
 
 
 
 
# 1. 执行镜像更新
kubectl set image deployment/todo-app backend=todo-backend:v2# 2. 查看更新进度(确认滚动更新是否正常)
kubectl rollout status deployment/todo-app# 3. 验证镜像是否更新成功
kubectl get pods -l app=todo-app -o jsonpath='{range .items[*]}{.spec.containers[1].image}{"\n"}{end}'
# 输出应该是 todo-backend:v2
 

四、和编辑 YAML 的对比

方式 优点 缺点
kubectl set image 无需改文件、一键操作、速度快 仅能改镜像,无法调整其他配置
编辑 YAML + apply 可同时调整镜像和其他配置 步骤多,需编辑 / 保存 / 应用文件

总结

  1. kubectl set image 是 K8s 中免改文件快速更新容器镜像的核心命令,语法为 kubectl set image <资源类型>/<资源名> <容器名>=<新镜像>
  2. 执行后会自动触发 Deployment 滚动更新,更新失败可通过 kubectl rollout undo 快速回滚;
  3. 适合临时、快速的镜像版本切换,若需调整镜像外的配置(如资源限制),建议编辑 YAML 文件。
http://www.jsqmd.com/news/148230/

相关文章:

  • ComfyUI Portrait Master中文版:AI肖像生成终极配置指南
  • 2025年高尔夫会员卡推荐:高性价比、有购物优惠的高尔夫会员卡服务公司有哪些? - 工业品网
  • 2025种业老牌展会TOP5权威推荐:资质齐全的种子展会机构甄选指南 - 工业品网
  • Knime终极实操指南:快速掌握数据分析自动化技巧
  • 2025年质量好的扭矩测试仪厂家最新TOP实力排行 - 品牌宣传支持者
  • Flutter跨平台开发实战:5分钟上手仿滴滴出行开源项目
  • TensorFlow模型推理延迟优化:从毫秒到微秒
  • 智谱Open-AutoGLM如何颠覆AI开发?:5大核心技术亮点全面解读
  • 如何在Slurm集群中提交TensorFlow作业?
  • 银河麒麟V10终极网络调试工具完整安装指南
  • 3分钟搞定Hadoop Windows环境配置:终极Winutils指南
  • 2025年实力强的日本展会搭建品牌企业推荐:口碑好的日本展会搭建品牌企业有哪些? - 工业设备
  • Ultimate Vocal Remover GUI 终极工具:AI音频分离实用指南
  • 树莓派4b HDMI显示输出调试:Raspberry Pi OS图解说明
  • 5步掌握Intel RealSense深度摄像头:从安装到实战应用
  • SeedVR视频修复神器:让模糊视频瞬间焕发新生
  • Vibe Draw三维建模工具:5分钟快速部署终极指南
  • 教师节尊师重教:教育工作者认证享永久折扣
  • TensorFlow高级API Keras入门:快速构建神经网络
  • 微信小程序UI设计革命:WeUI-WXSS让你的应用瞬间拥有原生体验
  • 2025年质量好的泡沫箱厂家推荐及采购指南 - 品牌宣传支持者
  • 液压元件图形符号终极指南:3步快速掌握核心规范
  • 2025最新!专科生必备10个AI论文工具:开题报告与文献综述全测评
  • ESP32 IDF中I2C设备驱动的完整指南
  • 移动侦测与语音告警联动:智能家居实战配置
  • 7大核心方法论:Google代码质量保障体系如何重塑软件开发范式
  • Windows 10存储空间终极优化:Compactor文件压缩完全指南
  • 通义DeepResearch:开启智能研究新纪元,让AI成为你的专属研究员
  • 50个组件+零依赖:用AntdUI彻底革新你的WinForm应用界面
  • Core ML Stable Diffusion调度器终极指南:DPM-Solver与PNDM深度解析