Helm configmap错误错误:升级失败:ConfigMap“ my-service.v130”无效:数据:太长:最多包含1048576个字符

时间:2019-01-19 18:08:49

标签: kubernetes kubernetes-helm

运行命令时出现此错误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甚至接近该限制。我该如何调试呢?

2 个答案:

答案 0 :(得分:3)

这是一个已知问题,例如,您可以找到与之相关的几个问题-that one

Kubernetes上的

Configmap对象具有1Mb的大小限制,不幸的是(或者幸运的是)您不能更改它。

无论如何,增加限制是一个坏主意,因为K8s将Configmap存储在Etcd中,而Etcd不喜欢大型对象。

Helm使用发行版的configmap来存储许多内容,包括图表文件,这可能是您的问题。

尝试将图表目录中的所有文件(例如.git目录(图表文件本身除外)添加到.helmignore文件中,然后再次发布。

答案 1 :(得分:0)

就我而言,根本原因非常出乎意料:图表文件夹包含 xxxx.tgz 文件(存档文件错误地留在那里),直到它被删除,我一直收到此错误。错误消息甚至不接近真正的根本原因。它肯定大于配置上的 1Mb 限制。