温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

运维YAML常见错误有哪些

发布时间:2026-10-02 02:50:44 来源:亿速云 阅读:98 作者:小樊 栏目:系统运维

运维中常见的 YAML 错误,往往不是“语法看不懂”,而是缩进、格式、语义这几类问题。下面按高频程度总结:


一、缩进错误(最常见)

YAML 强制使用空格,不能用 Tab

❌ 错误示例:

services:
  web:
    image: nginx
	  ports:
	    - "80:80"

(使用了 Tab 或空格数不一致)

✅ 正确:

services:
  web:
    image: nginx
    ports:
      - "80:80"

✅ 建议:

  • 统一 2 空格缩进
  • 编辑器开启「显示空白字符」

二、冒号后面没空格

YAML 中 key: value 冒号后必须有空格

❌ 错误:

name:tomcat

✅ 正确:

name: tomcat

三、字符串未加引号导致解析错误

含有特殊字符(: # @ % $)时容易出错

❌ 错误:

password: pa@ss:word#1

✅ 正确:

password: "pa@ss:word#1"

四、布尔值被误解析

YAML 会把某些词当成布尔

❌ 易错:

enabled: yes
debug: no

✅ 若想当字符串:

enabled: "yes"

五、列表格式写错

列表项必须对齐,且以 - 开头

❌ 错误:

ports:
- "80:80"
   - "443:443"

✅ 正确:

ports:
  - "80:80"
  - "443:443"

六、多环境/多文档分隔错误

一个文件多个 YAML 文档要用 ---

❌ 错误:

apiVersion: v1
kind: ConfigMap
---
apiVersion: v1
kind: Secret

(其实是对的,但常被误写成空格或注释)

✅ 正确:

apiVersion: v1
kind: ConfigMap
---
apiVersion: v1
kind: Secret

七、K8s / Docker Compose 常见语义错误

  1. 层级放错
containers:
  - name: app
image: nginx   # ❌ image 应在 container 内
  1. required 字段缺失
  • K8s:apiVersion / kind / metadata.name
  • Compose:至少 image 或 build

八、编码与不可见字符

  • 文件含 BOM
  • 行尾 CRLF(Windows)
  • 复制网页引入零宽字符

✅ 解决:

file yamlfile.yaml
dos2unix yamlfile.yaml

九、变量 / 模板语法错误

如 Ansible、Helm:

❌ 错误:

command: echo {{ var }}

✅ 正确:

command: "echo {{ var }}"

十、校验工具推荐(很重要)

  • yamllint file.yaml
  • kubectl apply --dry-run=client -f x.yaml
  • docker compose config
  • 在线:https://www.yamllint.com/

如果你愿意,可以贴一段你的 YAML,我可以直接帮你找错并改好。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手