Cách dùng Kiểm tra Kubernetes YAML
- Dán một hoặc nhiều manifest, cách nhau bằng
---, mở tệp hoặc tải mẫu có sẵn. - Các lỗi cú pháp YAML được hiển thị kèm số dòng.
- Mỗi tài nguyên được kiểm tra các trường bắt buộc, apiVersion đã lỗi thời và selector/label không khớp.
- Các kiểm tra thực hành tốt sẽ cảnh báo khi thiếu giới hạn tài nguyên, probe, image
:latesthoặc cấu hình không an toàn.
Những gì được kiểm tra
| Mục kiểm tra | Ví dụ |
|---|---|
| Cấu trúc | Có apiVersion, kind và metadata.name; tên hợp lệ theo DNS-1123 label; container có tên và image |
| API đã lỗi thời | Deployment và Ingress dùng extensions/v1beta1, PodDisruptionBudget dùng policy/v1beta1, CronJob dùng batch/v1beta1 và các API khác đã bị gỡ bỏ trong Kubernetes 1.16–1.25 |
| Liên kết | Selector của Deployment khớp với label trong pod template; Service chọn các pod được định nghĩa trong cùng tệp; backend của Ingress trỏ đến Service và port có tồn tại |
| Độ tin cậy | Request và limit CPU/bộ nhớ, readiness và liveness probe, số replica lớn hơn một, port container không trùng lặp |
| Bảo mật | privileged, runAsNonRoot, allowPrivilegeEscalation, hostNetwork, volume hostPath, secret được lưu dạng văn bản thuần trong biến môi trường |
Trình kiểm tra hiểu Deployment, StatefulSet, DaemonSet, Job, CronJob, Pod, Service, Ingress, ConfigMap, Secret, HPA và nhiều loại khác. Custom resource chỉ được kiểm tra cú pháp và metadata cơ bản. Để kiểm tra schema đầy đủ theo đúng phiên bản cluster của bạn, hãy chạy kubectl apply --dry-run=server. Kiểm tra YAML thông thường với trình kiểm tra YAML và tạo image với trình tạo Dockerfile.
Cũng được tìm dưới tên: kubernetes yaml validator, k8s yaml validator, kiểm tra manifest kubernetes, lint kubernetes yaml, kubeval online, kiểm tra k8s yaml, check kubernetes yaml.
Các công cụ dùng kèm tốt với Kiểm tra Kubernetes YAML
- 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 Docker Compose — Chọn các dịch vụ bạn cần — ứng dụng, cơ sở dữ liệu, cache, giao diện quản trị, công cụ bắt mail — và nhận file compose.yaml gọn gàng với image đã ghim phiên bản, named volume, healthcheck và điều kiện depends_on, cùng file .env có sẵn mật khẩu được tạo ngẫu nhiên.
- Kiểm tra GitHub Actions — Dán workflow từ .github/workflows và tìm lỗi trước khi CI báo: trigger không hợp lệ, thiếu runs-on, needs sai, biểu thức lỗi, action lỗi thời và nguy cơ script injection.
- Bảng lệnh Docker — Các lệnh Docker và Docker Compose bạn dùng mỗi tuần, giải thích trong một dòng.
Câu hỏi thường gặp
Công cụ có kết nối với cluster của tôi không?
Tôi có thể kiểm tra Helm chart không?
helm template ./chart rồi dán kết quả. Các template thô có biểu thức {{ }} không phải là YAML hợp lệ.