运行命令时出现此错误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甚至接近该限制。我该如何调试呢?
答案 0 :(得分:3)
这是一个已知问题,例如,您可以找到与之相关的几个问题-that one。
Kubernetes上的Configmap对象具有1Mb的大小限制,不幸的是(或者幸运的是)您不能更改它。
无论如何,增加限制是一个坏主意,因为K8s将Configmap存储在Etcd中,而Etcd不喜欢大型对象。
Helm使用发行版的configmap来存储许多内容,包括图表文件,这可能是您的问题。
尝试将图表目录中的所有文件(例如.git
目录(图表文件本身除外)添加到.helmignore
文件中,然后再次发布。
答案 1 :(得分:0)
就我而言,根本原因非常出乎意料:图表文件夹包含 xxxx.tgz 文件(存档文件错误地留在那里),直到它被删除,我一直收到此错误。错误消息甚至不接近真正的根本原因。它肯定大于配置上的 1Mb 限制。