Kubernetes / Helm

Генератор YAML KubernetesСоберите ресурс из явных полей

Выберите тип: результат содержит один ресурс или фрагмент пробы для вставки в контейнер.

Генератор YAML Kubernetes

Поля ресурса

Созданный YAML

Параметры обрабатываются в браузере и не отправляются в кластер или на сервер.

Параметры

Шаблоны Kubernetes 1.34: apps/v1, v1, networking.k8s.io/v1, batch/v1. Probe — фрагмент контейнера.

Примеры — отправная точка. Дополните ресурсы, безопасность и хранилище. Кластер и образ не проверяются.

Имя со строчной буквы: до 63 символов (CronJob 52). Порты 1–65535, реплики 0–1000. Время пробы ≤86400 секунд, порог ошибок ≤1000.

До 50 строк KEY=value. ConfigMap и Secret ссылаются на существующие имена. Текст: 20000 символов. Команда: 32 строки по 4096 символов максимум.

Создание…

Генератор YAML Kubernetes помогает подготовить понятную основу для нового приложения. Генерация Deployment использует одно имя для селектора и меток Pod. При смене типа значения других форм сохраняются, но в результат попадает только выбранный ресурс. Это удобно для последовательной подготовки нескольких отдельных файлов.

Здесь можно собрать манифесты Kubernetes, проверить селектор Service, настроить Ingress или задание по расписанию. Поддерживаются и переменные окружения. Имена и пространства имён в разных файлах нужно согласовать самостоятельно: предпросмотр не показывает текущее состояние кластера.

Зачем нужен Генератор YAML Kubernetes

Одна структура за раз

Генератор YAML Kubernetes разделяет шаблон Pod в Deployment, сопоставление портов Service и ссылку Ingress на backend. Соседние ресурсы, которые вы ещё не настроили, не добавляются. Поэтому при проверке файла видно, какой именно объект вы собираетесь создать.

Поля формы превращаются в один структурированный документ манифеста.

Проба находится внутри контейнера

Проба не является самостоятельным ресурсом. Отдельный режим выдаёт readinessProbe, livenessProbe или startupProbe без вымышленного kind. Одну выбранную пробу можно включить в Deployment. Её порт задаётся отдельно: проверка здоровья может работать не на порту приложения.

Небольшой фрагмент проверки вставляется внутрь контейнера в документе ресурса.

Сначала проверьте связи

01

Сопоставьте имена по пути трафика

Deployment задаёт метку app своим именем. Укажите это значение в селекторе Service. Backend Ingress ссылается на имя и порт Service, а не обязательно на targetPort контейнера. Все эти объекты экспортируются отдельно.

02

Для нескольких правок отключите автоматику

Автогенерация ждёт 350 мс после последней правки. В ручном режиме используйте кнопку или Ctrl/Cmd+Enter. Копирование и скачивание заблокированы, пока результат не соответствует текущим значениям формы; старый текст отображается бледнее.

03

Посмотрите состав замены

Пример и очистка сначала показывают число изменяемых полей и новые значения. После применения можно один раз восстановить форму и результат вместе. Пример CronJob запускает завершающуюся команду date, а не постоянно работающий веб-сервер.

Что попадает в манифест

Явные версии API

Deployment использует apps/v1, Service — v1, Ingress — networking.k8s.io/v1, CronJob — batch/v1. Шаблоны сверены с Kubernetes 1.34. Переключателя версий, который обещает совместимость без изменения результата, здесь нет.

Значения окружения остаются строками

Строка KEY=value разделяется только по первому знаку равенства. Последующие знаки и пустые значения сохраняются; повторные имена вызывают ошибку. Строки YAML заключаются в кавычки, чтобы yes, null и последовательности цифр не меняли тип при чтении YAML 1.1.

Ссылки на существующие объекты

envFrom принимает имена ConfigMap и Secret. Ingress поддерживает один хост, путь, Prefix или Exact, класс и ссылку на TLS Secret. Эти поля не создают сертификаты, контроллеры или зависимые объекты — их наличие нужно проверить отдельно.

Расписание и проверки здоровья

CronJob записывает пять полей расписания, Etc/UTC, массив команды и политику параллельного запуска. Для HTTP- и TCP-проб доступны порт и временные параметры; successThreshold равен 1. Инструмент не обращается к endpoint и не рассчитывает следующий запуск.

Границы шаблонов и ввода

Настройки приложения нужно дополнить
CPU, память, securityContext, хранилище, автомасштабирование и sidecar-контейнеры не выводятся из предположений. Доступность образа, квоты, права и правила admission тоже не проверяются. Добавьте подходящие параметры в репозитории перед применением.
Один объект или фрагмент
Нет объединения ресурсов, импорта YAML, Helm, Kustomize и CRD. Неподдерживаемые поля не придумываются. Файл Probe нужно вставить в элемент containers; отдельно применить его как ресурс нельзя.
Ограниченные имена и числа
Имя начинается со строчной латинской буквы и содержит строчные буквы, цифры и дефисы: максимум 63 символа, для CronJob — 52. Порты: 1–65535; реплики: 0–1000; явный NodePort: 30000–32767. Собственный диапазон кластера задаётся во внешнем редакторе.
Подмножество Cron и размер ввода
Пять числовых полей со звёздочками, списками, возрастающими диапазонами и шагами для звёздочки или диапазона; дни недели 0–6. Без секунд, макросов и названий. До 50 переменных, 20000 символов в текстовом поле и 32 аргументов команды. Правильный синтаксис не гарантирует существование даты запуска.

Генератор YAML Kubernetes: вопросы и ответы

Какие версии API используются в результате?

База шаблонов — Kubernetes 1.34: apps/v1, v1, networking.k8s.io/v1 и batch/v1. У фрагмента Probe нет apiVersion, поскольку он принадлежит контейнеру. Название API не заменяет проверку в целевом кластере.

Как связать Service с Pod своего Deployment?

Service выбирает Pod по меткам, а не объект Deployment по имени. Форма задаёт app: ИМЯ. Используйте то же значение в селекторе Service, а targetPort направьте на порт, который действительно слушает приложение.

Можно ли сгенерировать несколько ресурсов за один раз?

Каждый запуск выдаёт только выбранный тип. Для Deployment и Service создайте два файла, затем проверьте имена, селекторы и пространства имён. Уже скачанные файлы не изменяются при последующем редактировании формы.

Как добавить переменные окружения контейнера?

Введите строки KEY=value или имена ConfigMap и Secret для envFrom. Пустые и похожие на числа значения остаются строками. Ссылка записывает только имя: инструмент не читает и не создаёт зависимый объект.

Можно ли применить полученный YAML без проверки?

Сначала прочитайте результат и проверьте его в целевой среде. Ingress нужны контроллер и backend; CronJob — команда, которая может завершиться. Дополните ресурсы и безопасность. Тег образа в примере не гарантирует доступность или безопасность.

Нашли проблему в созданном манифесте?

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

Генератор YAML Kubernetes подготовит небольшое изменение для проверки. Сверьте тип и каждую ссылку, добавьте поля вашего приложения и только после этого применяйте файл.