【发布时间】:2023-03-10 21:16:02
【问题描述】:
调用helm template ... 时出现此错误:
Error: YAML parse error on `myfile.yaml`: error converting YAML to JSON: `yaml`: line 60: mapping values are not allowed in this context
我想知道,如果我可以设置调试选项来分析这个问题。
因为myfile.yaml 在具有其他值的另一个上下文中是有效的,所以如果我可以在 helm 尝试将其转换为 json 之前打印出生成的无效 yaml,这将很有帮助。
有options --debug and -v,但这些都无济于事。
备注
还有一个question with the same title。但这个问题是关于一个特定问题的。我的问题不是关于特定问题。相反,我想获得一般提示,如何分析此类问题。
【问题讨论】:
-
据我所知,'helm template --dry-run --debug' 不验证模板/yaml。这应该打印出向 kubernetes api 提出的 yaml。为什么这不足以为您的用例提供服务? ps 忽略解析错误的一种方法是注释掉模板中受影响的部分并渲染它
-
这就是解决方案!现在我在生成的 yaml 中直接看到了错误。当您将此作为答案发布时,我会接受它。谢谢!
-
我已经剥离了您对实际解决方案的回答。希望没关系。
-
回答您的问题:我没想到,--dry-run 对 helm 模板有这种影响,因为我认为,helm 模板已经是无需安装的空运行。但显然我在这里错了。注释掉受影响的部分并不总是有帮助,例如,如果错误与缩进错误有关。再次感谢。
标签: kubernetes kubernetes-helm