Kubernetes Deployment创建报错:YAML转JSON失败(第4行非法字符)
解决Kubernetes YAML解析报错:第4行存在无效起始字符
报错信息(已翻译)
错误:解析dd_poc_deployment.yaml失败:将YAML转换为JSON时出错:yaml:第4行:发现无法作为任何标记起始的字符
可能原因
虽然你已经检查了缩进和制表符,但报错指向第4行(name: datadog-poc-deployment所在行),大概率是该行存在不可见的特殊字符:
- 全角空格(中文空格)混入缩进
- 不间断空格(NBSP,常见于网页复制粘贴内容)
- 其他非标准空白字符
解决方案
- 开启不可见字符显示:用VS Code、Notepad++这类纯文本编辑器打开文件,开启显示所有字符的功能:
- VS Code:按下
Ctrl+Shift+P,输入Toggle Render Whitespace并执行 - Notepad++:点击「视图」→「显示符号」→「显示所有字符」
检查第4行的缩进部分,是否有异常灰色符号或全角空格。
- VS Code:按下
- 手动重写可疑行:删除第4行内容,手动输入
name: datadog-poc-deployment,确保缩进使用半角空格(Kubernetes推荐每个层级用2个半角空格)。 - 本地工具校验:用
yamllint命令行工具校验YAML文件,精准定位语法问题:yamllint dd_poc_deployment.yaml
额外排查点
如果上述操作后仍报错,检查整个YAML文件是否还有其他特殊字符,比如占位符<My-Registry>是否已正确替换(虽不会触发第4行错误,但可能导致后续部署问题)。
内容的提问来源于stack exchange,提问作者jas
相关产品推荐
相关产品推荐

