Kubernetes / Helm

Валидатор Kubernetes YAML— проверка ресурсов в контексте документа

Выберите версию, изучите ошибки полей и сохраните нужные документы манифеста.

Валидатор Kubernetes YAML

YAML манифестов

Ресурсы и результат

Результат устарел. Запустите форматирование.

Манифесты и схемы обрабатываются в браузере, без отправки и подключения к кластеру.

Параметры проверки
Схема пользовательского ресурса

Вставьте JSON Schema draft-07 для точной пары apiVersion/kind. Внутренние ссылки поддерживаются; внешние не загружаются. CEL не выполняется.

Результат устарел. Запустите форматирование.

Статическая проверка не гарантирует развёртывание. YAML можно экспортировать и при ошибках структуры; сначала изучите диагностику.

Валидатор Kubernetes YAML полезен при разборе файла, который проходит синтаксический анализ, но ещё вызывает вопросы перед развёртыванием. Корректный YAML может содержать опечатку в поле или строку вместо числа. Номер документа связывает сообщение именно с тем ресурсом, который нужно исправить.

Проверка манифестов Kubernetes выполняется по фиксированным наборам определений 1.35.0, 1.36.0 и 1.37.0. Инструмент не читает kubeconfig и не определяет версию кластера самостоятельно. Результат относится только к выбранному набору и текущему содержимому.

Зачем нужен Валидатор Kubernetes YAML

Не терять связь ошибки с ресурсом

Валидатор Kubernetes YAML показывает kind, имя и пространство имён каждого документа. Диагностика содержит строку, столбец и путь поля. Выбор отдельного ресурса меняет область вывода, но не удаляет соседние документы из входных данных и не исключает их из общей проверки.

Три отдельные карточки манифестов превращаются в список ресурсов с выделенной ошибкой поля.

Не выдавать отсутствие в файле за сбой кластера

Селектор Service сопоставляется с метками Pod и шаблонов нагрузки в том же пространстве имён. Ссылки на ConfigMap и Secret проверяются среди переданных документов. Отсутствие объекта даёт предупреждение: он может уже существовать в кластере, хотя его нет в этой подборке.

Сервис связан с подходящими нагрузками, а отсутствующая ссылка на конфигурацию отмечена предупреждением.

Согласуйте версию и область вывода

01

Повторяйте проверку после изменений

По умолчанию выбрана 1.37.0, запуск ручной. Изменение текста, отступов, версии или схемы делает старый результат неактуальным и блокирует экспорт. Запускайте проверку кнопкой или Ctrl/Cmd+Enter; при каждом нажатии клавиши схема не компилируется.

02

Укажите точный тип собственного ресурса

В панели схемы задайте apiVersion, kind и JSON Schema draft-07. Определение применяется только к точному совпадению этой пары. Внутренние ссылки разрешены, а отсутствующая внешняя ссылка вызывает ошибку вместо автоматического запроса в сеть.

03

Проверьте предварительный просмотр

Форматирование и объединение сначала показывают текст, число символов и документов. Применение заменяет ввод, а однократная отмена восстанавливает также прежний результат. Для сохранения можно выбрать весь поток или один ресурс, не вырезая его из исходного текста.

Структура, имена и локальные связи

Определения закреплены за версией

Каждая схема Kubernetes взята из зафиксированного коммита реестра, созданного на основе OpenAPI. Полные наборы проверяют лишние поля, обязательные значения и типы. На ресурс показывается первое нарушение схемы; после исправления может проявиться следующее.

Идентичность объекта отдельно от версии API

Для распространённых ресурсов применяются правила DNS, для RBAC — правила сегмента пути. Повтор определяется по группе API, kind, пространству имён и имени. Разные версии API не делают один объект двумя. Непокрытые правила имени отмечаются отдельно. Имена Job ограничены 63 символами, CronJob — 52.

Ссылки внутри шаблонов нагрузки

Проверяются Pod и шаблоны Deployment, StatefulSet, Job, CronJob и других обычных нагрузок. Анализ охватывает окружение контейнеров, тома и проецируемые тома с ConfigMap или Secret. Наличие отдельных ключей конфигурации и реальная сетевая доступность не проверяются.

Многодокументный YAML с комментариями

Валидация YAML и форматирование используют синтаксическое дерево. Комментарии, якоря и исходная запись чисел сохраняются. Локальные файлы можно объединять, а документы — сохранять отдельно. Автоматической сортировки ресурсов, удаления полей и смены типов нет.

Что остаётся за пределами результата

Проверка не выполняет допуск на сервере
CEL, вебхуки, RBAC, планирование, доступность образов и feature gates не выполняются. Серверные значения по умолчанию не добавляются. Имена Service проверяются по обычному правилу с буквой в начале; ослабленные правила кластера не моделируются.
Неизвестный тип остаётся непроверенным
Если для apiVersion/kind нет определения, нужен пользовательский draft-07. Инструмент не извлекает схемы из CRD автоматически, не рендерит Helm или Kustomize и не загружает внешние ссылки. Ограничения расширений Kubernetes не равны обычным правилам JSON Schema.
List не раскрывается в отдельные документы
Разделяйте ресурсы строкой ---. Обёртки List и типы с окончанием List получают диагностику; их items не считаются отдельно проверенными ресурсами. Пустые документы не входят в список, а остальные сохраняют исходные номера.
Размер и время ограничены
Допускается 500 000 символов, 100 документов, 100 уровней вложенности, 50 000 узлов анализа и 1 000 сообщений. Рабочий поток останавливается через 8 секунд. Повторные ключи, неизвестные теги, чрезмерное раскрытие псевдонимов и небезопасные целые числа отклоняются.
Экспорт не означает готовность к запуску
YAML со структурными ошибками можно сохранить как промежуточную версию. Ошибки синтаксиса и устаревшие результаты блокируют экспорт. Пробелы и компактный стиль могут измениться, поэтому перед заменой ввода требуется просмотр результата.

Валидатор Kubernetes YAML: вопросы

Какие ошибки обнаруживает проверка?

Она выявляет синтаксические ошибки, повторные ключи, неверные типы, обязательные и лишние поля выбранной схемы. Валидатор Kubernetes YAML также проверяет ряд имён и локальных связей. Сообщение указывает документ и путь, но не является исчерпывающим перечнем всех возможных нарушений.

Поддерживаются ли несколько документов YAML?

Да, до 100 документов, разделённых строками ---. Непустые документы представлены отдельными ресурсами и доступны для раздельного сохранения. Объект List — другая структура: его содержимое не раскрывается и не получает индивидуальную проверку.

Почему YAML проходит проверку, но развёртывание не работает?

Синтаксис и схема не описывают всё окружение. Политики допуска, права, наличие образов и состояние кластера могут помешать запуску. Даже успешный статический результат не заменяет серверную проверку и обычный процесс развёртывания.

Разрешены ли повторяющиеся ключи?

Здесь повтор ключа в одном отображении считается ошибкой, чтобы значение не заменялось незаметно. Одинаковые названия полей в разных документах допустимы. Повторная идентичность ресурсов проверяется отдельно по группе API, типу, пространству имён и имени.

Как проверить YAML по схеме?

Выберите встроенную версию Kubernetes либо задайте собственную пару apiVersion/kind и draft-07 в специальной панели. Встроенное определение выбирается по типу ресурса. Для обычного YAML без полей Kubernetes лучше использовать универсальный валидатор нужного формата.

Результат вызывает вопросы?

Проверьте следующий манифест

Валидатор Kubernetes YAML помогает сохранить версию и контекст замечаний при ревью. После исправлений повторите проверку и экспортируйте именно те документы, которые нужны для следующего этапа.