Cách dùng Kiểm tra YAML
- Dán YAML hoặc mở file
.yml/.yaml. - Lỗi sẽ hiển thị dòng, cột và vị trí chính xác.
- Xem các cảnh báo lint về tab, khoảng trắng thừa và cạm bẫy của YAML 1.1.
- Sao chép YAML đã định dạng hoặc phiên bản JSON tương đương.
Vì sao YAML dễ lỗi đến vậy
YAML dùng thụt lề để biểu diễn cấu trúc, nên chỉ một khoảng trắng đặt sai cũng có thể làm thay đổi ý nghĩa hoặc khiến file không hợp lệ. Các lỗi phổ biến nhất:
| Lỗi | Nguyên nhân |
|---|---|
| bad indentation of a mapping entry | Một khóa được thụt lề khác với các khóa cùng cấp |
| found a tab character | YAML không cho phép dùng tab để thụt lề — hãy dùng dấu cách |
| duplicated mapping key | Cùng một khóa xuất hiện hai lần trong một object; hầu hết parser âm thầm giữ lại giá trị cuối cùng |
| incomplete explicit mapping pair / unexpected end | Dấu nháy, ngoặc vuông chưa đóng, hoặc dấu hai chấm nằm trong chuỗi không có nháy |
| end of the stream or a document separator is expected | Nội dung bị thụt lề sai sau một danh sách hoặc khối |
Cạm bẫy giữa YAML 1.1 và 1.2
Nhiều công cụ (PyYAML, các thư viện Ruby và Go cũ) vẫn theo YAML 1.1, trong đó yes, no, on, off được hiểu là boolean và 012 là số bát phân — đây là “vấn đề Na Uy” nổi tiếng, khi mã quốc gia NO bị biến thành false. YAML 1.2 coi các giá trị này là chuỗi. Linter sẽ đánh dấu những giá trị như vậy để bạn đặt trong dấu nháy và có kết quả giống nhau ở mọi nơi.
File nhiều tài liệu
Manifest Kubernetes thường gộp nhiều tài nguyên, phân tách bằng ---. Mỗi tài liệu được kiểm tra riêng và hiển thị trong kết quả JSON dưới dạng một mảng.
Kiểm tra ý nghĩa, không chỉ cú pháp
YAML hợp lệ vẫn có thể là cấu hình sai. Để kiểm tra cấu trúc theo schema, hãy chuyển sang JSON và dùng JSON Schema validator; với đặc tả API, dùng OpenAPI validator. Tạo file mới bằng Docker Compose generator hoặc GitHub Actions generator, và chuyển đổi định dạng bằng YAML to JSON.
Cũng được tìm dưới tên: validate yaml, yaml lint, kiểm tra cú pháp yaml, yaml checker, yamllint online, yaml formatter, kubernetes yaml validator.
Các công cụ dùng kèm tốt với Kiểm tra YAML
- JSON sang YAML — Dán JSON để nhận YAML sạch cho manifest Kubernetes, Docker Compose, GitHub Actions hoặc bất kỳ file cấu hình nào.
- Tạo Kubernetes YAML — Nhập tên ứng dụng, image và cổng, bạn sẽ có ngay Kubernetes YAML sẵn sàng cho production: một Deployment với probe, giới hạn tài nguyên và security context được gia cố, cùng Service, Ingress có TLS, ConfigMap, Secret và HorizontalPodAutoscaler mà bạn chọn — tất cả trong một file, sẵn sàng cho kubectl apply.
- Trình tạo systemd Service — Chạy ứng dụng của bạn như một dịch vụ Linux đúng chuẩn, tự khởi động cùng hệ thống và tự restart khi bị crash.
- Tạo GitLab CI — Chọn stack của bạn và nhận ngay file .gitlab-ci.yml chạy được: cài đặt với caching, job lint và test, build kèm artifacts, Docker image đẩy lên GitLab registry, hoặc deploy GitLab Pages — với rules giúp pipeline chạy cho merge request và nhánh mặc định mà không bị trùng lặp.