首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何调试Helm图表错误,如“在此上下文中不允许将YAML转换为JSON: yaml:映射值的错误”?

如何调试Helm图表错误,如“在此上下文中不允许将YAML转换为JSON: yaml:映射值的错误”?
EN

Stack Overflow用户
提问于 2020-01-02 13:42:12
回答 1查看 7K关注 0票数 19

我用的是Helm 3和microk8s。当我尝试跑步时:

代码语言:javascript
运行
复制
microk8s.helm install <...> --dry-run --debug

我看到错误就像

代码语言:javascript
运行
复制
Error: YAML parse error on ./templates/deployment.yaml: error converting YAML to JSON: yaml: mapping values are not allowed in this context
helm.go:76: [debug] error converting YAML to JSON: yaml: mapping values are not allowed in this context
YAML parse error on ./templates/deployment.yaml
helm.sh/helm/v3/pkg/releaseutil.(*manifestFile).sort
    /home/circleci/helm.sh/helm/pkg/releaseutil/manifest_sorter.go:129
helm.sh/helm/v3/pkg/releaseutil.SortManifests
    /home/circleci/helm.sh/helm/pkg/releaseutil/manifest_sorter.go:98
helm.sh/helm/v3/pkg/action.(*Configuration).renderResources
    /home/circleci/helm.sh/helm/pkg/action/install.go:455
helm.sh/helm/v3/pkg/action.(*Install).Run
    /home/circleci/helm.sh/helm/pkg/action/install.go:214
main.runInstall
...

我发现了几个有类似错误的问题,但答案通常只是要求读取图表代码。我有一个很大的图表,需要自己调试这个错误。猜测它抱怨的是哪一行似乎没有意义。

有什么方法可以知道配置中到底有什么问题吗?

EN

回答 1

Stack Overflow用户

发布于 2021-05-04 13:36:56

尝试:helm template ... --debug > foo.yaml

这将将呈现的图表输出到foo.yaml (并将舵错误堆栈跟踪输出到stderr)。然后,从舵机错误中查找有问题的模板文件名,并查看呈现的图表中类似于# Source: the-template-name.yaml的一行。对每个YAML对象分别执行YAML到JSON的转换,因此您可能有同一个# Source: the-template-name.yaml的多个实例。

查看每个# Source: ...注释下面的n行以获得一个错误,其中n是Helm报告的错误的行号。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59564379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档