如何在Linux中安装和使用Helm Linux管理Kubernetes应用的方法

大晨酱_3070

大晨酱_3070

2026-05-31

835人浏览

原创

helm 3 安装需用官方脚本并校验 checksum,装后必须配置仓库并执行 helm repo update 才能查找 chart;部署应使用 helm upgrade --install 实现幂等,配合 helm template 预检 yaml 可大幅降低模板错误风险。

如何在linux中安装和使用helm linux管理kubernetes应用的方法

Helm 客户端在 Linux 上能直接装,但装完不配置仓库、不验证上下文,helm install 会立即报错“no chart found”或“connection refused”。

用官方脚本安装 Helm 3 最省事,但得确认 curl 和 bash 可用

这是网络通畅时最快的方式,适合开发机或 CI 环境初始化。它自动校验 checksum、解压、放 /usr/local/bin/helm,并跳过 Tiller(Helm 3 已移除)。

  • 执行前先检查:curl --version 和 bash --version 都得有输出
  • 脚本地址已更新为 GitHub main 分支最新版:curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
  • 别跳过校验步骤:脚本默认启用 SHA256 校验,若手动下载二进制包,务必核对 sha256sum helm 与 Release 页面公布的哈希值
  • 装完立刻跑 helm version —— 如果显示 Error: Kubernetes cluster unreachable,不是 Helm 没装好,而是 kubeconfig 缺失或权限不对

helm repo add 后必须跟 helm repo update,否则所有 chart 操作都失败

很多人卡在这步:加了 Bitnami 仓库却搜不到 nginx,helm search repo nginx 返回空。原因就是只写了 helm repo add bitnami https://charts.bitnami.com/bitnami,没触发索引同步。

Linux Distros
Linux Distros

Linux发行版游乐场,适用于需要临时Linux沙箱、基于浏览器的Linux虚拟机、一次性终端环境、桌面Linux会话等场景

下载
  • helm repo add 只改本地 ~/.helm/repository/repositories.yaml,不拉远程 index.yaml
  • helm repo update 才真正发起 HTTP 请求下载索引,耗时取决于网络;CI 脚本里漏掉这句,后续 helm install 必报 no chart name found
  • 私有 Harbor 仓库需提前登录:helm registry login harbor.example.com -u admin -p 'xxx',否则 helm pull 会卡在 401
  • 国内用户可换镜像源加速:helm repo add bitnami https://mirrors.tuna.tsinghua.edu.cn/bitnami/charts/,但注意清华源同步有延迟,新 chart 可能晚几小时

helm upgrade --install 是唯一安全的部署命令,helm install 在 CI 中基本不能用

直接用 helm install 在重复执行的 CI 流程里必然失败:“release already exists”。而 helm upgrade 又要求 release 必须存在——--install 把两者合并成幂等操作。

  • 首次运行:创建 release 并部署资源
  • 后续运行:识别已有 release,执行升级(diff + patch)
  • 必须显式指定 --namespace,否则默认落到 default,和多数集群的 namespace 隔离策略冲突
  • --atomic 开启后失败自动回滚,但会阻塞命令直到超时(默认 5m),调试阶段建议关掉,用 --dry-run --debug 先看生成的 YAML
  • 想强制覆盖整个 values 结构(比如清掉 ingress),不能只删 prod.yaml 里某段,得写 ingress: {} 显式置空

用 helm template 预检 YAML 再部署,比直接 upgrade 少踩 70% 的语法坑

很多“部署失败”根本不是 Kubernetes 权限或资源问题,而是 Go 模板写错、{{ .Values.foo }} 引用空字段、或者嵌套 map 没对齐导致 YAML 解析失败。这类错误在 helm upgrade 里常被包装成模糊的 “failed to install CRD”,排查成本极高。

  • helm template myapp ./mychart -f values.yaml --namespace prod 直接输出渲染后的 YAML 到 stdout,可用 yq 或 grep 快速验证字段是否存在
  • CI 中建议加一步:helm template ... | kubectl apply --dry-run=client -f -,让 kubectl 做 client-side schema 校验
  • helm lint 只查 Chart 结构(Chart.yaml、values.yaml 格式等),不校验模板逻辑,别误以为它能代替 template
  • 离线环境部署前,用 helm pull --version 1.2.3 bitnami/nginx 下载 tar.gz 包,再 helm install 本地路径,避免 runtime 拉取失败

最易被忽略的是 kubeconfig 的 context 和 namespace 权限——helm version 成功不代表能 deploy,kubectl auth can-i --list 才能看出当前用户是否有 create deployments 权限。Helm 不报 RBAC 错误,它把错误原样透传给 Kubernetes API,日志里就一句 “forbidden”。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux kubernetes

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

2025.12.22

116

5

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

2026.06.29

188

19

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3930

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3373

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2533

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6110

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5762

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3373

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2865

4

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习