09-Helm 包管理
Helm 包管理概念引入安装一个应用需要多少 YAML一个 WordPress 至少需要Deployment、Service、PVC、ConfigMap、Secret、Ingress……手写 6 个文件每个几十行还要处理它们之间的依赖关系。Helm 就是 K8s 的包管理器类似 Linux 的 apt/yum或 Node.js 的 npm。一条命令就能安装整个应用所有 YAML 都打包好了。K8s 世界Chart.yamlhelm install完整 K8s 应用Node.js 世界package.jsonnpm install完整应用原理讲解三个核心概念概念含义类比Chart一个 Helm 包包含所有 K8s 资源定义npm 的 packageReleaseChart 的一次安装实例npm install 后的 node_modulesRepository存放 Chart 的仓库npm registry (npmjs.com)Chart 的结构my-chart/ ├── Chart.yaml # Chart 的元数据名字、版本、描述 ├── values.yaml # 默认配置值用户可以覆盖 ├── templates/ # K8s 资源模板 │ ├── deployment.yaml # Deployment 模板Go 模板语法 │ ├── service.yaml # Service 模板 │ └── ingress.yaml # Ingress 模板 └── charts/ # 依赖的子 Chart模板 Values 可定制Helm 的强大之处在于模板化。同一个 Chart通过传不同的 values可以部署到不同环境# values.yaml默认值replicaCount:1image:repository:nginxtag:1.27# values-prod.yaml生产环境覆盖replicaCount:3image:tag:1.27-alpineresources:limits:cpu:500mmemory:256Mi# 开发环境用默认值helminstallweb my-chart# 生产环境用自定义值helminstallweb my-chart-fvalues-prod.yaml# 也可以直接覆盖单个值helminstallweb my-chart--setreplicaCount3常用命令# 创建 Charthelm create my-chart# scaffold 一个标准 Chart# 安装helminstallmy-app ./my-chart/# 从本地目录安装helminstallmy-app bitnami/nginx# 从仓库安装需要先 helm repo add# 管理helm list# 查看所有 Releasehelm status my-app# 查看 Release 状态helm upgrade my-app ./my-chart/# 升级helm rollback my-app1# 回滚到版本 1helm uninstall my-app# 卸载# 调试helm template ./my-chart/# 预览渲染后的 YAML不连接集群helminstallmy-app ./my-chart/ --dry-run# 模拟安装校验语法helm get values my-app# 查看已安装 Release 的 valueshelmhistorymy-app# 查看版本历史Helm 的版本管理每次helm upgrade都会创建一个新的版本revision。你可以随时回滚helm rollback 1v1: 初始安装v2: 升级v3: 改配置回到 v1 状态每个 revision 都保留随时可以回滚动手实验配套实验位于docs/labs/beginner/helm/本实验不依赖外部 Chart 仓库——用helm create从零创建本地 Chart避免网络问题。步骤 1创建集群和本地 Chartcddocs/labs/beginner/helmbashsetup.shsetup.sh会自动创建一个本地 Helm Chartmy-chart/镜像使用 nginx:1.27。步骤 2认识 Chart 结构# 查看 Chart 的文件结构ls-Rmy-chart/# 查看默认配置catmy-chart/values.yaml# 预览渲染后的 YAML不实际安装helm template my-chart/步骤 3安装和自定义# 从本地 Chart 安装helminstallmy-nginx ./my-chart# 查看 Releasehelm list# 查看 Helm 创建的资源kubectl get all-lapp.kubernetes.io/instancemy-nginx# 用自定义值安装第二个实例helminstallcustom-nginx ./my-chart\--setreplicaCount2\--setservice.typeNodePort# 对比两个 Release 的值helm get values my-nginx helm get values custom-nginx步骤 4升级和回滚# 升级到 3 个副本helm upgrade my-nginx ./my-chart--setreplicaCount3# 查看版本历史helmhistorymy-nginx# 回滚到版本 1helm rollback my-nginx1# 确认回滚成功helmhistorymy-nginx kubectl get pods-lapp.kubernetes.io/instancemy-nginx步骤 5清理bashteardown.sh自检问题Chart、Release、Repository 分别是什么查看答案 **Chart** 是一个 Helm 包包含一组 K8s 资源模板和默认配置。**Release** 是 Chart 被安装后的实例——同一个 Chart 可以安装多次每次产生一个独立的 Release。**Repository** 是存放和分发 Chart 的仓库类似 npm registry。helm template和helm install --dry-run的区别是什么查看答案 helm template 在本地渲染模板并输出 YAML**不连接集群**适合快速预览模板结果或 CI 中做 lint 检查。helm install --dry-run 会连接集群模拟安装包括资源验证但不实际创建资源适合验证 Chart 在当前集群上是否能成功安装。调试模板语法用 template验证安装可行性用 --dry-run。你的团队需要把同一个微服务部署到 dev/staging/prod 三个环境。用 Helm 怎么管理查看答案 创建一个 Chart然后用三个 values 文件values-dev.yaml1 副本低资源、values-staging.yaml2 副本、values-prod.yaml3 副本高资源启用 HPA。部署时 helm install app my-chart -f values-{env}.yaml。这样只维护一份模板环境差异通过 values 管理。下一步你掌握了 K8s 的包管理器。接下来学习怎么看到集群里发生了什么→ 10. 可观测性与排错本文来自 K8s Guide—— 开源免费的 Kubernetes 中文学习指南️ 初学者轨道 面试轨道从零基础到拿 Offer 一站式覆盖 每篇文章配套 Kind 实验脚本本地一键运行 本文源码docs/beginner/17-helm.md⭐如果对你有帮助欢迎 Stargithub.com/callmebg/k8s-guide

相关新闻

Qwen-Agent文档解析:5步打造智能PDF/Word问答系统

Qwen-Agent文档解析:5步打造智能PDF/Word问答系统

Qwen-Agent文档解析:5步打造智能PDF/Word问答系统 【免费下载链接】Qwen-Agent Agent framework and applications built upon Qwen>3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc. 项目地址: https://gitcode.com/Git…

2026/10/14 19:40:22 阅读更多 →
七月AI代码审查实践月结:从单文件审查到全仓库质量地图的演进路径

七月AI代码审查实践月结:从单文件审查到全仓库质量地图的演进路径

七月AI代码审查实践月结:从单文件审查到全仓库质量地图的演进路径 过去一个月,团队在AI代码审查方向上完成了从"逐文件审查"到"全仓库质量地图"的体系化演进。这篇月结围绕审查模式、工具链打通、质量指标体系三个维度,梳…

2026/10/2 13:55:23 阅读更多 →
SimAI:高性能AI训练仿真系统的架构设计与优化指南

SimAI:高性能AI训练仿真系统的架构设计与优化指南

SimAI:高性能AI训练仿真系统的架构设计与优化指南 【免费下载链接】SimAI 项目地址: https://gitcode.com/gh_mirrors/si/SimAI SimAI是业界首个面向大规模AI模型训练和推理的全栈高精度仿真系统,由阿里云开源。该系统通过详细建模LLM训练全流程…

2026/10/15 11:36:45 阅读更多 →

最新新闻

机器人不再失忆:多尺度具身记忆MEM架构设计与VLA集成实践

机器人不再失忆:多尺度具身记忆MEM架构设计与VLA集成实践

1. 当机器人只会“过目即忘”:视觉—语言—动作模型的记忆之痛先聊个实际场景。你让一个装了视觉—语言—动作模型(VLA)的机械臂去“把桌上那个红色杯子放到盘子里”,第一次它做得很好,第二次换个位置,它又…

2026/10/16 9:49:08 阅读更多 →
小程序抓包完全指南:从原理到实操与合规边界

小程序抓包完全指南:从原理到实操与合规边界

做小程序开发,最烦的不是逻辑写错,而是接口调不通的时候,你根本不知道数据在哪个环节出了问题。页面白屏、按钮没反应、数据对不上,打开调试器一看,Network面板里空空如也。小程序不是浏览器,它的网络请求发…

2026/10/16 9:49:08 阅读更多 →
IPDL 2026图像处理与深度学习国际会议:SPIE出版+EI检索,值得关注的投稿选择

IPDL 2026图像处理与深度学习国际会议:SPIE出版+EI检索,值得关注的投稿选择

每年到这个时间节点,实验室的同学们就开始互相打听“今年哪个会好投一点”“哪本论文集能保证被EI收录”。其实这个问题没有标准答案,不同会议的领域侧重、出版方背景、检索历史都不一样,得一个个去比对。我今天要聊的这个IPDL 2026&#xff…

2026/10/16 9:49:08 阅读更多 →
基于Dify搭建嵌入式AI研发助手:知识库与工作流实战

基于Dify搭建嵌入式AI研发助手:知识库与工作流实战

去年年底,我们团队在做一个低功耗传感器节点的固件项目。硬件平台早就调通了,软件却卡在一个特别尴尬的地方:老同事调走了,把排查经验和历史坑位也一并带走了;新来的工程师光啃那本六百多页的芯片手册就啃了三天&#…

2026/10/16 9:49:08 阅读更多 →
DeepLearningToolbox:面向模型交付的深度学习工程化流水线

DeepLearningToolbox:面向模型交付的深度学习工程化流水线

简介:本资源是面向MATLAB初学者与深度学习入门者的经典教学工具包DeepLearningToolbox,涵盖前馈神经网络、卷积神经网络、深度信念网络、堆叠自编码器及卷积自编码器五大核心模块,适用于高校课程实验、算法原理验证与小规模数据建模实践。压缩…

2026/10/16 9:49:08 阅读更多 →
全国河流水系SHP数据实战:从图层解析到流域分析与PostGIS管理

全国河流水系SHP数据实战:从图层解析到流域分析与PostGIS管理

简介:这份全国最新最详细河流水系数据以SHP矢量格式提供,面向GIS从业者、水文分析人员及地理信息相关专业师生,用于解决全国尺度水系要素提取、空间制图与水文建模中基础底图缺失的问题。资源包共18个文件,涵盖shp、shx、dbf、prj…

2026/10/16 9:48:06 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →