Работает полностью в браузере — данные не покидают страницу.Валидатор манифестов K8s
Проверка YAML Kubernetes: структура, удалённые версии API, security context, ресурсы, probes и секреты в манифесте.
Что покрывает этот валидатор
Манифесты — один документ или несколько — разбираются и проверяются в два прохода: сначала структура (apiVersion, kind, имя, синтаксис YAML с номерами строк, удалённые из Kubernetes версии API), затем тридцать правил готовности к продакшену по security context, host-namespace, capabilities, requests и limits, probes, закреплению образов и секретам в манифесте.
Это линт готовности, а не валидация по OpenAPI-схеме конкретной версии кластера: для последней нужны схемы под каждую версию, и это другой инструмент. Манифесты разбираются в браузере и никуда не загружаются.
Почему он требует resource requests?
Без requests у планировщика нет основания для размещения, и под попадает в QoS BestEffort — то, что вытесняется первым при нехватке ресурсов на узле. Requests — это как вы сообщаете планировщику потребности нагрузки; limits — как вы не даёте ей навредить соседям.
Действительно ли нужны и liveness, и readiness?
Они отвечают на разные вопросы. Readiness решает, направлять ли трафик в под, — без неё каждая выкатка сбрасывает запросы в ещё запускающийся контейнер. Liveness решает, перезапускать ли процесс, который работает, но завис. Одна другую не заменяет.
Он помечает мой Secret. Что делать вместо этого?
Значения в манифесте Secret — это base64, а не шифрование: закоммитить такой файл значит опубликовать его. Используйте sealed-secrets, external secrets operator или менеджер секретов вашего облака, а в git держите только ссылку.
Понимает ли он CRD и Kustomize?
Для кастомных ресурсов выполняются только структурные проверки, поскольку их схему задаёт устанавливающий их оператор. Оверлеи Kustomize не рендерятся — файл читается как есть, поэтому проверяйте вывод kustomize build, а не сам оверлей.
Смежные инструменты: YAML diff, Анализатор Dockerfile и CVE Kubernetes.