7

我正在尝试使用以下命令安装 helm 版本

helm upgrade --install --reset-values {release-name} ../chart --namespace test01 --values /tmp/values737957648

未打包的图表以展开形式保存。

这失败并出现以下错误,它基本上试图存储发布信息

sh.helm.release.v1.{release-name}.v1" is invalid: data: Too long: must have at most 1048576 characters

如何去调试这个问题?

如果我尝试生成图表模板并执行 kubectl create 它安装得很好.ie

helm template {release-name} chart --namespace test01 --values /tmp/values737957648 >> test1.yaml
kubectly create test1.yaml  (No configmap/No secret limit issue)

尝试通过 helm 安装并尝试创建 helm-secret 时会出现问题

我该如何解决这个问题?

我正在使用掌舵版本

helm version
version.BuildInfo{Version:"v3.0.2", GitCommit:"19e47ee3283ae98139d98460de796c1be1e3975f", 
GitTreeState:"clean", GoVersion:"go1.13.5"}
4

5 回答 5

3

这个答案直接来自: https ://jhooq.com/helm-chart-failed-to-create/

此问题背后的根本原因可能是以下之一 -

  1. Helm 版本名称由大写字母组成(例如 - helm install demoChart helloworld)
  2. Helm 版本名称由空格组成(例如 - helm install demo Chart helloworld)
  3. Helm 版本名称由特殊字符组成(例如 - helm install demoCh@rt helloworld)

就我而言,我的图表名称中有下划线。当我用破折号替换下划线时,图表部署得很好。

于 2021-02-07T00:11:57.293 回答
2

在我的情况下,我有一个带有一些图像的“img/”目录......在周末我添加了许多大 png 文件......并且出现了类似的错误......

% helm upgrade --install {release name} {mychart} -f values-mychart-custom.yaml --debug
    history.go:56: [debug] getting history for release mychart
    Release "mychart" does not exist. Installing it now.
    install.go:178: [debug] Original chart version: ""
    install.go:199: [debug] CHART PATH: Library/Caches/helm/repository/mychart-1.0.0.tgz

Error: create: failed to create: Secret "sh.helm.release.v1.mychart.v1" is invalid: data: Too long: must have at most 1048576 bytes
helm.go:88: [debug] Secret "sh.helm.release.v1.mychart.v1" is invalid: data: Too long: must have at most 1048576 bytes
create: failed to create
helm.sh/helm/v3/pkg/storage/driver.(*Secrets).Create
    helm.sh/helm/v3/pkg/storage/driver/secrets.go:164
helm.sh/helm/v3/pkg/storage.(*Storage).Create
    helm.sh/helm/v3/pkg/storage/storage.go:69
helm.sh/helm/v3/pkg/action.(*Install).RunWithContext
    helm.sh/helm/v3/pkg/action/install.go:340
main.runInstall
    helm.sh/helm/v3/cmd/helm/install.go:265
main.newUpgradeCmd.func2
    helm.sh/helm/v3/cmd/helm/upgrade.go:124
github.com/spf13/cobra.(*Command).execute
    github.com/spf13/cobra@v1.2.1/command.go:856
github.com/spf13/cobra.(*Command).ExecuteC
    github.com/spf13/cobra@v1.2.1/command.go:974
github.com/spf13/cobra.(*Command).Execute
    github.com/spf13/cobra@v1.2.1/command.go:902
main.main
    helm.sh/helm/v3/cmd/helm/helm.go:87
runtime.main
    runtime/proc.go:255
runtime.goexit
    runtime/asm_amd64.s:1581

经过漫长的一天进行了丑陋的 Helm 调试,我将“img/”文件夹从图表目录中移出并再次工作......

所以:请将您的精彩文档和不相关的 Helm 图表文件保存在您正在开发图表的图表/ * 目录之外......

:)

线索:生成清单文件,应用它们并检查一切是否正确

% helm template mychart chart --values ./values.yaml > debug.yaml
% kubectl apply -f debug.yaml
% kubectl delete -f debug.yaml
于 2021-11-03T03:33:30.017 回答
1

在我的情况下,根本原因非常出乎意料:图表文件夹包含 xxxx.tgz 文件(存档文件错误地留在那里),直到它被删除,我一直收到这个错误。错误消息甚至不接近真正的根本原因。

于 2021-06-09T14:09:49.223 回答
0

我今天遇到了类似的问题,这是因为我的 helm 目录中有一些额外的文件。

例如:debug.log 或 my_readme.txt

我删除了所有与掌舵图无关的文件,它工作正常。

Helm 错误具有误导性。

于 2022-02-04T10:12:25.313 回答
-1

我做了一个du . --block-size=KB,令人惊讶的是.kube,在删除问题解决后,其中有一个包含大量数据的文件夹。

于 2021-11-25T11:15:04.187 回答