Как пользоваться: Валидатор YAML для Kubernetes
- Вставьте один или несколько манифестов, разделённых
---, откройте файл или загрузите пример. - Ошибки синтаксиса YAML выводятся с номером строки.
- Каждый ресурс проверяется на обязательные поля, устаревшие apiVersion и несовпадение селекторов и меток.
- Проверки лучших практик отмечают отсутствие лимитов ресурсов, проб, образы
:latestи небезопасные настройки.
Что проверяется
| Проверка | Примеры |
|---|---|
| Структура | Наличие apiVersion, kind и metadata.name; имена соответствуют DNS-1123; у контейнеров есть имя и образ |
| Устаревшие API | Deployments и Ingresses с extensions/v1beta1, PodDisruptionBudgets с policy/v1beta1, CronJobs с batch/v1beta1 и другие API, удалённые в Kubernetes 1.16–1.25 |
| Связи между ресурсами | Селектор Deployment совпадает с метками шаблона пода; Services выбирают поды, описанные в том же файле; бэкенды Ingress ссылаются на существующие Services и порты |
| Надёжность | Запросы и лимиты CPU/памяти, readiness- и liveness-пробы, больше одной реплики, уникальные порты контейнеров |
| Безопасность | privileged, runAsNonRoot, allowPrivilegeEscalation, hostNetwork, тома hostPath, секреты в открытом виде в значениях env |
Валидатор понимает Deployments, StatefulSets, DaemonSets, Jobs, CronJobs, Pods, Services, Ingresses, ConfigMaps, Secrets, HPA и другие ресурсы. Пользовательские ресурсы (CRD) проверяются на синтаксис, а базовые метаданные валидируются. Для полной проверки по схеме вашей версии кластера выполните kubectl apply --dry-run=server. Обычный YAML проверьте с помощью валидатора YAML, а образы соберите с помощью генератора Dockerfile.
Также ищут как: валидатор k8s yaml, проверка манифестов kubernetes, линтер kubernetes, kubeval онлайн, k8s lint, проверка k8s манифестов.
Инструменты, которые хорошо сочетаются с Валидатор YAML для Kubernetes
- Генератор YAML для Kubernetes — Укажите имя приложения, образ и порт, и вы получите готовый к продакшену YAML для Kubernetes: Deployment с пробами, лимитами ресурсов и защищённым security context, а также выбранные вами Service, Ingress с TLS, ConfigMap, Secret и HorizontalPodAutoscaler — всё в одном файле, готовом для kubectl apply.
- Генератор Docker Compose — Отметьте нужные сервисы — приложение, базу данных, кеш, панель администратора, перехватчик почты — и получите аккуратный compose.yaml с закреплёнными версиями образов, именованными томами, healthcheck и условиями depends_on, а также подходящий .env со сгенерированными паролями.
- Валидатор GitHub Actions — Вставьте workflow из .github/workflows и найдите ошибки до того, как их найдёт CI: неверные триггеры, отсутствующий runs-on, сломанный needs, некорректные выражения, устаревшие экшены и риски внедрения скриптов.
- Шпаргалка Docker — Команды Docker и Docker Compose, которые нужны каждую неделю, с пояснением в одну строку.
Часто задаваемые вопросы
Валидатор подключается к моему кластеру?
Можно ли проверить Helm-чарты?
helm template ./chart и вставьте результат. Исходные шаблоны с выражениями {{ }} не являются корректным YAML.