validation - 验证数据时出错:[ValidationError(Deployment): unknown field "\u00a0 name" during `kubectl apply -f myfile.yaml`
问题描述
我在部署过程中遇到了这个问题:
# kubectl apply -f myfile.yaml
error: error validating "myfile.yaml": error validating data: [ValidationError(Deployment): unknown field "\u00a0 name" in io.k8s.api.apps.v1.Deployment, ValidationError(Deployment): unknown field "\u00a0 replicas" in io.k8s.api.apps.v1.Deployment, ValidationError(Deployment): unknown field "\u00a0 \u00a0 app" in io.k8s.api.apps.v1.Deployment, ValidationError(Deployment): unknown field "\u00a0 \u00a0 \u00a0 - name" in io.k8s.api.apps.v1.Deployment, ValidationError(Deployment): unknown field "\u00a0 \u00a0 \u00a0 app" in io.k8s.api.apps.v1.Deployment, ValidationError(Deployment): unknown field "
尝试验证它yamllint
也无济于事:
# yamllint myfile.yaml
myfile.yaml
1:1 warning missing document start "---" (document-start)
解决方案
实际的部署文件无关紧要,因为我实际上找到了解决方案并在此处粘贴以供参考。
原来问题出在 unicode 空格上,vi
使用yamllint
. 无论如何,按照bash - Remove all Unicode Spaces and replace with Normal Space中的描述转换文件可以缓解这个问题。
# perl -CSDA -plE 's/\s/ /g' myfile.yaml > myfile2.yaml
# kubectl apply -f myfile2.yaml
deployment.apps/xxx created
希望对某人有所帮助。
推荐阅读
- python - python -m django --version 即使已安装也不显示版本
- android - Delphi Android Oreo:如何在前台启动服务?
- python - ansible正则表达式替换所有匹配的string1,排除string2
- javascript - 使用 CSS 和/或 Javascript 编辑复选框问题标签
- python - 通过 Vagrant 访问项目时,PyCharm 是否使用安装在虚拟环境中的依赖项?
- raspberry-pi - 为什么手动启动 c-lightning 可以工作,但无法通过 systemd 启动?
- php - 加入 2 个表时出现“唯一表/别名”错误
- arduino - 如何使这些 LED 一次淡入淡出?
- c# - 为什么我们在 i*j 之后加上“To.String”?
- eclipse - JavaFx 不允许我 setText() 或 add(),(仅添加节点)