You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在无网络环境下使用Helm Charts?

我来帮你梳理下无网络环境下使用Helm Charts的完整流程,分两个核心环节解决:提前获取Chart包和处理镜像依赖,具体操作一步步来:

一、提前在有网环境获取Helm Chart包

不管你的Chart是托管在Git仓库还是Helm公共仓库,都得先在能联网的机器上把它拿到本地:

  • 如果是Git托管的Chart:直接克隆仓库到本地,比如 git clone <你的Chart仓库地址>,之后把Chart所在的目录打包成压缩包(比如 tar -zcvf my-chart.tgz ./my-chart),通过U盘、内部文件传输工具之类的方式传到离线环境的服务器上。
  • 如果是Helm仓库的Chart:用helm pull命令拉取到本地,比如 helm pull nginx-stable/nginx-ingress --version 0.12.0,执行后会得到一个.tgz格式的Chart包,同样传到离线环境。
二、处理Docker镜像依赖(分有网预处理+离线加载)

这部分是关键,因为Chart的values.yaml里指定的镜像默认会从远程拉取,离线环境得提前把这些镜像备好:

有网环境操作

  1. 先解压你拿到的Chart包,找到values.yaml文件,把里面所有指定的镜像地址和tag列出来(比如image.repository: mysql、image.tag: 8.0这类配置)。
  2. 逐个拉取这些镜像:docker pull mysql:8.0
  3. 把每个拉取好的镜像保存成tar包:docker save mysql:8.0 -o mysql-8.0.tar
  4. 把所有镜像tar包一起传到离线环境的服务器上。

离线环境操作

  1. 在离线服务器上,加载每个镜像tar包:docker load -i mysql-8.0.tar
  2. 执行docker images确认镜像已经成功加载到本地镜像仓库,能看到对应的镜像名和tag就没问题。
  3. 重点:检查Chart的values.yaml里的image.pullPolicy配置,如果是Always,一定要改成IfNotPresent或者Never,避免Helm部署时尝试去远程拉取镜像。
三、离线环境安装Helm Chart

现在Chart包和镜像都准备好了,直接执行安装命令就行:

  • 如果是解压后的Chart目录:helm install my-release ./my-chart
  • 如果是.tgz格式的Chart包:helm install my-release ./my-chart.tgz

内容的提问来源于stack exchange,提问作者user2156115

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:49:25