新闻详情

新闻详情

首页 / 资讯中心 / 详情

Linux Command 项目中的 Helm 实战指南:Kubernetes 包管理器的安装、Chart 操作与集群部署

发布时间:2026/10/1 9:58:12来源:尧图网络
Linux Command 项目中的 Helm 实战指南:Kubernetes 包管理器的安装、Chart 操作与集群部署
文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载Helm 是 Kubernetes 生态中最常用的包管理工具类比 Ubuntu 的 apt、CentOS 的 yum 或 macOS 的 Homebrew它通过 Chart一种打包了镜像、依赖关系与资源定义的标准格式来定义、安装和升级复杂的 Kubernetes 应用。本文以 Helm 为核心完整讲解安装方式、全部常用命令、Chart 目录结构与核心配置文件并结合当前仓库中 k8s/helm/charts/linux-command 这一真实 Chart 实例演示如何把一个静态网站应用linux-command部署到 Kubernetes 集群。读完本文你将掌握从添加仓库、搜索 Chart、安装/升级/回滚 release到自定义 values、打包与校验 Chart 的完整技能链。Helm 是什么Kubernetes 的包管理器Helm 解决的核心问题是Kubernetes 原生 YAML 资源分散、难以复用和版本化。Chart 是 Helm 的打包格式一个 Chart 内聚了运行一个应用所需的镜像、依赖关系、资源定义Deployment、Service 等与默认配置值。使用 Helm 的最大好处是可以直接使用社区或厂商开发好的 Chart而无需自己从零配置和部署复杂应用。Helm 3 相比早期版本移除了 Tiller 服务端组件客户端直接通过 Kubernetes API 与集群交互不再需要额外配置 RBAC安装与使用门槛大幅降低。安装 Helm原文档提供了四种主流安装方式覆盖 macOS、Linux 以及源码编译场景# macOS (Homebrew) brew install helm # Linux官方一键安装脚本 curl -fsSL -o get_helm.sh Helm官方安装脚本地址 chmod 700 get_helm.sh ./get_helm.sh # 从源码编译安装 git clone Helm官方源码仓库 cd helm make bootstrap make build sudo make install # 下载预编译二进制文件 versionv3.14.0 curl -LO https://get.helm.sh/helm-$version-linux-amd64.tar.gz tar -zxvf helm-$version-linux-amd64.tar.gz sudo mv linux-amd64/helm /usr/local/bin/helm要点说明Homebrew 方式适用于 macOS 开发者一条命令即可完成安装与 PATH 配置。官方脚本方式适用于绝大多数 Linux 发行版脚本会自动探测系统架构并安装对应版本。源码编译适合需要定制或二次开发 Helm 的场景依赖 Go 工具链。预编译二进制是服务器环境最可控的方式下载对应架构如linux-amd64的压缩包解压后将helm二进制放入/usr/local/bin即可全局使用。安装完成后可用helm version验证。Helm 语法与命令总览Helm 的基础语法为helm [command]全部功能命令如下completion 为指定的shell生成自动补全脚本 create 创建一个新的Chart debug 调试Chart deprecated 列出已弃用的命令 diff 显示release和Chart之间的差异 env 显示Helm环境变量 feature 列出并切换特性标志 fetch 从仓库下载Chart到本地 get 下载额外的信息 help 帮助命令 history 获取release的历史记录 install 安装一个Chart lint 检查Chart是否存在问题 list 列出releases manicreate 生成Helm手册 message 显示信息 module 管理Helm模块 package 将chart目录打包到chart版本中 plugin 安装、列出或卸载Helm插件 pull 从仓库下载Chart到本地 repo 添加、列出、移除、更新和索引仓库 release release信息 render 本地渲染模板 rollback 将release回滚到以前的版本 search 搜索charts show 显示chart的信息 template 本地渲染模板 token 管理Helm认证令牌 uninstall 卸载release upgrade 升级release version 显示Helm版本从功能上可以划分为几大族群仓库管理repo add/list/update/remove、search、生命周期管理install、upgrade、rollback、uninstall、history、list、status、Chart 开发create、package、lint、template、show、pull、dependency、扩展能力plugin、completion以及信息查询get、env、version。实战一仓库管理、搜索与安装 Chart添加与维护 Chart 仓库# 添加官方Helm仓库 helm repo add bitnami https://charts.bitnami.com/bitnami helm repo add stable https://charts.helm.sh/stable # 更新仓库索引 helm repo update # 列出已添加的仓库 helm repo list # 删除仓库 helm repo remove bitnamihelm repo add添加的仓库信息保存在~/.config/helm/repositories.yaml中添加后需执行helm repo update拉取最新索引后续search、install才能基于最新版本工作。搜索 Chart# 搜索仓库中的MySQL相关Chart helm search repo mysql # 搜索Helm Hub上的Chart helm search hub mysqlhelm search repo在已添加的本地仓库索引中检索helm search hub则面向 Helm Hub 中央库检索全网公开 Chart。安装 Chartinstall# 安装MySQL Chartrelease 名为 my-mysql helm install my-mysql bitnami/mysql # 安装指定版本的Chart helm install my-mysql bitnami/mysql --version 9.10.0 # 安装并指定命名空间不存在时自动创建 helm install my-release bitnami/nginx -n development --create-namespace # 安装并指定values文件 helm install my-release bitnami/mysql -f custom-values.yaml # 安装并设置自定义值 helm install my-release bitnami/mysql --set mysqlRootPasswordsecret参数组合非常灵活--version锁定 Chart 版本Chart 版本遵循语义化版本 SemVer-n/--namespace与--create-namespace控制部署命名空间-f从外部 YAML 文件注入配置值--set以keyvalue形式覆盖单个配置项是 CI/CD 场景最常用的动态注入方式。查看与列出 release# 查看release状态 helm status my-release # 列出所有releases helm list # 列出指定命名空间的releases helm list -n development卸载 release# 卸载release连同其管理的Kubernetes资源 helm uninstall my-release # 卸载但保留历史记录便于日后查看/回滚 helm uninstall my-release --keep-history--keep-history会保留 release 的审计记录适用于需要保留卸载痕迹的生产环境。实战二升级与回滚 release# 查看release的历史版本 helm history my-release # 升级release使用同一Chart的新版本 helm upgrade my-release bitnami/mysql # 升级并设置新的值 helm upgrade my-release bitnami/mysql --set mysqlRootPasswordnewsecret # 回滚到上一个版本 helm rollback my-release # 回滚到指定版本 helm rollback my-release 2helm upgrade完成滚动更新helm history展示每次 release 的修订号revisionhelm rollback可按修订号精确回退。建议在生产环境配合命名空间隔离不同 release并可通过helm diff插件在升级前预览资源差异降低变更风险。实战三Chart 开发、打包、渲染与校验创建与打包 Chart# 创建新的Chart生成标准目录骨架 helm create my-chart # 打包Chart为可发布的tgz归档 helm package my-charthelm create会生成一个完整的标准 Chart 骨架含 Chart.yaml、values.yaml、templates 等helm package则将其打包为版本化归档文件便于发布到 Chart 仓库。本地渲染模板不实际部署# 本地渲染模板不安装 helm template my-release bitnami/mysql # 渲染并输出YAML文件 helm template my-release bitnami/mysql mysql.yamlhelm template只做渲染、不触碰集群是审查最终 YAML 的最佳手段。渲染结果可重定向到文件供评审或直接kubectl apply使用。校验与信息查看# 检查Chart是否存在问题 helm lint my-chart # 检查远程Chart helm lint bitnami/mysql # 查看Chart的详细信息 helm show all bitnami/mysql # 查看Chart的values可读默认配置 helm show values bitnami/mysql # 查看Chart的README helm show readme bitnami/mysql # 下载Chart到本地 helm pull bitnami/mysql # 下载并解压Chart helm pull bitnami/mysql --untarhelm lint对 Chart 做静态检查模板语法、必填字段等helm show values是了解一个陌生 Chart 可配置项的快捷入口helm pull --untar下载并解压 Chart 到本地便于离线部署或二次修改。依赖与高级用法# 检查Chart的依赖 helm dependency list my-chart # 更新Chart的依赖 helm dependency update my-chart # 安装带有依赖的Chart可临时禁用子依赖 helm install my-release ./my-chart --set redis.enabledfalse # 使用OCI注册表拉取Chart helm pull oci://registry-1.docker.io/bitnamicharts/mysql # 查看已安装的插件 helm plugin list # 安装插件 helm plugin install 插件仓库地址 # 卸载插件 helm plugin uninstall 插件名现代 Helm 同时支持传统 Chart 仓库与 OCI 镜像仓库两种分发方式oci://前缀即表示从 OCI 注册表拉取。插件机制如常用的 diff 插件通过helm plugin install扩展 Helm 能力。Helm Chart 目录结构标准的 Helm Chart 目录结构如下my-chart/ ├── Chart.yaml # Chart元数据名称、版本等 ├── values.yaml # 默认配置值 ├── charts/ # 依赖的Chart ├── templates/ # 模板文件 │ ├── deployment.yaml │ ├── service.yaml │ └── _helpers.tpl # 辅助模板 ├── .helmignore # 忽略文件模式 └── README.md # Chart说明文档各文件职责Chart.yaml声明 Chart 的名称、类型、版本version与应用版本appVersionvalues.yaml默认配置值模板通过.Values引用templates/Go 模板渲染的 Kubernetes 资源清单charts/存放嵌套依赖的 Chart_helpers.tpl定义可复用的命名模板named template.helmignore打包时需要排除的文件模式类似.gitignoreREADME.mdChart 的使用与参数说明。常用配置文件解析Chart.yaml 示例apiVersion: v2 name: my-app description: A Helm chart for Kubernetes version: 0.1.0 appVersion: 1.16.0apiVersion: v2表示 Helm 3 的 Chart 格式version是 Chart 自身的版本号遵循语义化版本SemVer每次修改 Chart 都应递增appVersion是所部署应用的版本建议加引号以保留字符串语义如1.16.0。values.yaml 示例replicaCount: 1 image: repository: nginx tag: latest pullPolicy: IfNotPresent service: type: ClusterIP port: 80values.yaml 是 Chart 的可调参数面板image.repository与image.tag组合构成镜像地址image.pullPolicy控制拉取策略Always/IfNotPresent/Neverservice.type决定对外暴露方式。仓库实战用 Helm 部署 linux-command 静态站当前仓库自带一个完整的 Helm Chart 实例位于 k8s/helm/charts/linux-command用于将本项目的静态站点以 Helm 方式部署到 Kubernetes。该 Chart 是应用型 Charttype: application正好可作为上面理论知识的落地范本。安装与卸载按照 k8s/helm/charts/linux-command/README.md 的说明在仓库根目录执行# 安装同时创建命名空间 helm install linux-command ./k8s/helm/charts/linux-command --namespace linux-command --create-namespace # 卸载删除全部Kubernetes组件与release记录 helm -n linux-command uninstall linux-command也可以使用-f values.yaml提供自定义参数文件helm install release-name -f values.yaml ./k8s/helm/charts/linux-commandChart 元数据与模板设计Chart.yaml 声明了 Chart 名称为linux-command、类型为应用型 Chart、version: 0.1.0、appVersion: 0.1.0与上述标准结构完全对应。模板侧deployment.yaml 通过{{ include linux-command.fullname . }}等 helper 生成资源名并读取.Values.linuxCommand.replicas、.Values.linuxCommand.linuxCommandContainer.image.repository与.tag拼装镜像地址tag缺省时回退到.Chart.AppVersion同时把resources通过toYaml原样渲染service.yaml 则将.Values.service.ports直接渲染为 Service 端口列表。公共模板集中在 _helpers.tpl定义了linux-command.name、linux-command.fullname、linux-command.labels、linux-command.selectorLabels等命名模板并遵循 DNS 命名规范将名称截断到 63 字符——这些正是生产级 Chart 的常见写法。可配置参数一览values.yaml 与 README 中的参数表定义了以下可调项Key类型默认值linuxCommand.linuxCommandContainer.image.repositorystringwcjiang/linux-commandlinuxCommand.linuxCommandContainer.image.tagstringlatestlinuxCommand.linuxCommandContainer.imagePullPolicystringIfNotPresentlinuxCommand.linuxCommandContainer.resources.limits.cpustring100mlinuxCommand.linuxCommandContainer.resources.limits.memorystring50MilinuxCommand.linuxCommandContainer.resources.requests.cpustring100mlinuxCommand.linuxCommandContainer.resources.requests.memorystring50MilinuxCommand.replicasint1service.ports[0].portint9665service.ports[0].protocolstringTCPservice.ports[0].targetPortint3000service.typestringNodePort应用容器监听 3000 端口对应镜像内静态站服务端口Service 以NodePort类型将 9665 端口映射到集群节点。部署后访问方式为http://Node-IP:NodePort。此外仓库 k8s/linux-command.yaml 还提供了一份免 Helm 的纯kubectl apply部署清单Namespace Deployment Service参数与 Chart 默认值保持一致适合未引入 Helm 的轻量场景可与本文的 Helm 流程相互印证。使用注意事项Helm 3 已移除 Tiller 组件不再需要为其配置 RBAC。helm repo add添加的仓库信息保存在~/.config/helm/repositories.yaml。Chart 的版本号遵循语义化版本SemVer。可以通过--dry-run参数预览安装效果而不实际部署降低误操作风险。使用helm diff插件可以查看升级前后的资源差异。生产环境建议使用命名空间隔离不同的 release。可以通过--wait参数等待所有资源就绪后再返回避免脚本提前进入下一步。相关命令Helm 通常与以下工具配合使用构成完整的 Kubernetes 工作流kubectl— Kubernetes 集群管理工具用于查看 Pod、Service、Deployment 等资源状态minikube— 本地 Kubernetes 开发环境适合在单机调试 Chartkubeadm— Kubernetes 集群安装工具用于搭建生产级集群。结合当前仓库的实践路径先用helm create生成骨架或直接复用 k8s/helm/charts/linux-command 这一现成 Chart再用helm lint校验、helm template预览渲染结果最后helm install完成部署配合kubectl get pods -n linux-command观察运行状态即可完整跑通开发 → 校验 → 渲染 → 部署 → 运维的 Helm 使用闭环。赞分享文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载相关推荐vcluster Helm Chart 部署实战指南在现有 Kubernetes 集群上安装、连接与管理虚拟集群vcluster Helm Chart 部署实战指南在现有 Kubernetes 集群上安装、连接与管理虚拟集群 本篇技术指南围绕 vcluster 官方 H云原生集群管理虚拟化多集群Apache DolphinScheduler Helm Chart 完全指南Kubernetes 集群部署、配置与实战Apache DolphinScheduler Helm Chart 完全指南Kubernetes 集群部署、配置与实战 Apache DolphinSche任务调度大数据后端前端OpenClaw 实战第 3 天为你的 Claw 接入 Telegram 消息通道让随身 AI 助理真正随时在线OpenClaw 实战第 3 天为你的 Claw 接入 Telegram 消息通道让随身 AI 助理真正随时在线 在 OpenClaw 的世界里ch文档教程人工智能大模型上一篇CubeSandbox Security Proxy 深度指南基于 CubeEgress 的 L7 透明出网代理、规则拦截与审计体系下一篇7个实用技巧如何高效参与Blender开源社区贡献创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

三行代码解决数组扩容缩容,ResizeObserver让容量随容器宽度自适应 2026/10/1 10:47:42

三行代码解决数组扩容缩容,ResizeObserver让容量随容器宽度自适应

数组扩容缩容,这四个字每次出现,基本就意味着前端页面又开始卡了。你以为只是push几下、改个length的事,但真正等到内存飙升、滚动掉帧、图表卡成一坨的时候,才发现这事远没有想象中简单。尤其在做大屏、日志面板、实时消息流这类…

阅读更多 →
数组扩容缩容性能优化:Set、ArrayBuffer与环形缓冲实战 2026/10/1 10:47:42

数组扩容缩容性能优化:Set、ArrayBuffer与环形缓冲实战

数组扩容缩容这事,我在排障和写业务的过程中碰到过太多次了。上个月帮一个做大屏数字孪生的同事看性能问题,后端通过 WebSocket 每秒钟往前端推几十个点位坐标,前端原本的处理方式是不断 concat 到全局数组里,结果浏览器标签页直…

阅读更多 →
B样条插值曲面拟合:从参数化到控制点求解的完整方法 2026/10/1 10:47:42

B样条插值曲面拟合:从参数化到控制点求解的完整方法

每年华为杯研究生数学建模竞赛的C题,基本上都是工程味道很浓的问题:给你一批实测数据、点云坐标或者网格采样值,要你反推几何外形、计算体积与形变,再预测几个关键物理量。这类问题绕来绕去总是落在同一个钉子户技术上——B样条插…

阅读更多 →
手写Redis分布式锁:原理、常见坑与工程实践选型指南 2026/10/1 10:47:42

手写Redis分布式锁:原理、常见坑与工程实践选型指南

“手写Redis分布式锁”这几个字,放在招聘JD里是常规操作,放在面试题里是必考题,放在我实际写的代码里,却是一段反复推翻重来的血泪史。我最早接触分布式锁还停留在 SETNX 一把梭的时代,后来被线上事故教育了几次&…

阅读更多 →
大模型驱动营销广告智能化升级:货拉拉场景落地与工程避坑实践 2026/10/1 10:47:35

大模型驱动营销广告智能化升级:货拉拉场景落地与工程避坑实践

这两年大模型在营销领域的应用,已经从一个“能不能做”的演示阶段,进入到“怎么做得更稳、更贴合业务”的深水区。货拉拉作为同城货运平台的头部玩家,营销广告的场景天然带有强烈的本地生活属性和交易导向——用户不是来看品牌的,…

阅读更多 →
DDoS攻击类型全解析与防御思路(实战笔记):从入门到实战完整指南 2026/10/1 10:47:28

DDoS攻击类型全解析与防御思路(实战笔记):从入门到实战完整指南

本文深入探讨DDoS攻击类型全解析与防御思路(实战笔记),涵盖背景分析、原理剖析、实战步骤、配置示例、优化建议和避坑指南。很多团队在DDoS与CC防护场景中都会遇到与DDoS攻击类型全解析与防御思路(实战笔记)相关的挑战…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉