Helm configmap error Error: UPGRADE FAILED: ConfigMap "my-service.v130" is invalid: data: Too long: must have at most 1048576 characters
Helm configmap error Error: UPGRADE FAILED: ConfigMap "my-service.v130" is invalid: data: Too long: must have at most 1048576 characters
我在 运行 命令时收到此错误 Error: UPGRADE FAILED: ConfigMap "my-service.v130" is invalid: data: Too long: must have at most 1048576 characters
:
$ KUBECONFIG=/Users/tomcaflisch/.kube/config.dev helm upgrade --wait --recreate-pods --install my-service --version v0.1.0-gedc3d28-dirty -f ./values.yaml -f ./secrets.yaml -f ./vars/dev/db.yaml -f ./vars/dev/epic.yaml -f ./vars/dev/ingress.yaml -f ./vars/dev/services.yaml -f ./vars/dev/tkn.yaml --set image.tag=v0.1.0-gedc3d28-dirty .
我无法想象我生成的 configmap 甚至接近该限制。我该如何调试它?
这是一个已知问题,您可以找到几个相关问题 - that one,例如。
Kubernetes 上的 Configmap 对象有 1Mb 的大小限制,不幸的是(或者幸运的是)您无法更改它。
无论如何,增加限制是个坏主意,因为K8s将Configmaps存储在Etcd中,不喜欢大对象。
Helm 使用 release 的 configmap 来存储很多东西,包括图表文件,这可能是你的问题。
尝试将图表目录中的所有文件(如 .git
目录)(图表文件本身除外)添加到 .helmignore
文件并再次推送一次。
在我的例子中,根本原因是非常出乎意料的:图表文件夹包含 xxxx.tgz 文件(存档文件被错误地留在了那里)并且在它被删除之前,我一直遇到这个错误。错误消息甚至离真正的根本原因还很远。它绝对大于配置上的 1Mb 限制。
我在 运行 命令时收到此错误 Error: UPGRADE FAILED: ConfigMap "my-service.v130" is invalid: data: Too long: must have at most 1048576 characters
:
$ KUBECONFIG=/Users/tomcaflisch/.kube/config.dev helm upgrade --wait --recreate-pods --install my-service --version v0.1.0-gedc3d28-dirty -f ./values.yaml -f ./secrets.yaml -f ./vars/dev/db.yaml -f ./vars/dev/epic.yaml -f ./vars/dev/ingress.yaml -f ./vars/dev/services.yaml -f ./vars/dev/tkn.yaml --set image.tag=v0.1.0-gedc3d28-dirty .
我无法想象我生成的 configmap 甚至接近该限制。我该如何调试它?
这是一个已知问题,您可以找到几个相关问题 - that one,例如。
Kubernetes 上的 Configmap 对象有 1Mb 的大小限制,不幸的是(或者幸运的是)您无法更改它。
无论如何,增加限制是个坏主意,因为K8s将Configmaps存储在Etcd中,不喜欢大对象。
Helm 使用 release 的 configmap 来存储很多东西,包括图表文件,这可能是你的问题。
尝试将图表目录中的所有文件(如 .git
目录)(图表文件本身除外)添加到 .helmignore
文件并再次推送一次。
在我的例子中,根本原因是非常出乎意料的:图表文件夹包含 xxxx.tgz 文件(存档文件被错误地留在了那里)并且在它被删除之前,我一直遇到这个错误。错误消息甚至离真正的根本原因还很远。它绝对大于配置上的 1Mb 限制。