以 Traefik 为例
如果你想使用 Helm 来下载 Traefik 的 chart 并在安装之前手动调整它的 YAML 文件,可以按照以下步骤操作:
-
添加 Traefik 的 Helm 仓库:
helm repo add traefik https://helm.traefik.io/traefik
确保执行了
helm repo update
来更新 Helm 仓库的信息。 -
下载 Traefik 的 Helm chart:
helm pull traefik/traefik
该命令会将 Traefik 的 Helm chart 下载到你的当前目录,并且通常是一个
.tgz
格式的文件。 -
解压 Helm chart:
tar -zxvf traefik-*.tgz
解压后,你会看到一个名为
traefik
的目录,其中包含 chart 的内容,如 templates, values.yaml 等。 -
修改
values.yaml
或其他相关的 YAML 文件: 使用你的文本编辑器或 IDE 修改values.yaml
或其他相关的 YAML 文件以满足你的需求。 -
安装 Traefik 使用你的自定义配置: 假设你仍然在那个解压出的
traefik
目录下:helm install [release-name] ./traefik -f traefik/values.yaml
其中
[release-name]
是你给这个 Helm release 起的名字。
这样,你就使用 Helm 下载了 Traefik 的 chart,并在安装之前进行了手动调整。
更新 package
如果你已经使用 Helm 安装了 Traefik (或任何其他 Helm chart) 并希望对其进行修改,类似于 kubectl apply
的效果,你可以使用 helm upgrade
命令。这使你能够对已部署的 Helm release 应用修改。
首先,你需要确定你的 release 名称。如果你不记得,可以使用以下命令查看:
helm list
接下来,按照你的需求修改 values.yaml
或其他相关的 YAML 文件。
一旦你准备好进行更新,执行以下命令:
helm upgrade [release-name] ./traefik -f traefik/values.yaml
其中 [release-name]
是你给这个 Helm release 起的名字。
helm upgrade
会将你的修改应用到已经存在的 release 上,如果有任何资源(如 ConfigMaps,Services,Deployments 等)已经存在并与你的新配置不一致,Helm 将更新这些资源,这与 kubectl apply
的行为相似。
此外,如果你只想在已安装的 Helm release 上更改某些特定的值,而不是整个 values.yaml
文件,你也可以使用 --set
或 --set-string
标志直接在命令行中进行这些更改。例如:
helm upgrade [release-name] traefik/traefik --set key=value,key2=value2
不论是通过修改 values.yaml
还是使用 --set
,helm upgrade
命令都能帮助你实现类似 kubectl apply
的效果。