k8s-manifest-generator
Kubernetes Manifest Generator из репозитория William Shobson — пошаговая инструкция для подготовки Kubernetes-манифестов, когда нужно описать ресурсы приложения и сверить конфигурацию с базовыми cloud-native практиками. Источник перечисляет Deployment, Service, ConfigMap, Secret и PersistentVolumeClaim, а также работу с multi-environment конфигурациями. Основное назначение skill — помочь собрать понятный YAML и не забыть типовые поля: сеть, конфигурацию, хранение, health checks, ресурсы и security context. Он не является командой, которая сама применяет манифесты в кластер, и не доказывает, что созданная конфигурация совместима с конкретным Kubernetes-провайдером. В разделе best practices инструкция требует задавать resource requests и limits, чтобы ограничить влияние workload на ресурсы кластера, и добавлять health checks, чтобы Kubernetes мог управлять состоянием приложения. Для контейнеров рекомендуются конкретные image tags вместо непредсказуемых плавающих тегов. Security contexts должны учитывать запуск не от root и отказ от лишних capabilities. ConfigMap и Secret используются для отделения конфигурации от кода; это разные типы данных, поэтому чувствительные значения нельзя бездумно смешивать с обычными настройками. Labels нужно добавлять ко всем ресурсам для фильтрации и организации, а naming conventions — соблюдать последовательно. Перед применением источник рекомендует dry-run и validation tools. Это важная граница workflow: корректный на вид YAML ещё не подтверждает валидность схемы, наличие referenced ConfigMap или Secret, доступность образа, достаточность ресурсов и согласованность селекторов. Манифесты следует хранить в Git и версионировать, а annotations использовать для контекста и сопровождения. Конкретные значения namespace, image, ports, replicas, requests, limits, probes, secret keys и storage зависят от приложения, поэтому карточка не подставляет выдуманные параметры и не обещает универсальный production-профиль. Инструкция включает troubleshooting для типовых проблем. Если Pod не стартует, предлагается проверить image pull errors через kubectl describe pod, наличие ресурсов через kubectl get nodes и события командой kubectl get events --sort-by='.lastTimestamp'. Если Service недоступен, нужно проверить, совпадает ли selector с labels Pod, затем проверить тип и порт сервиса; для диагностики изнутри кластера источник показывает запуск временного debug Pod на образе busybox. Если ConfigMap или Secret не загружается, проверяются имена, namespace и наличие ресурсов через kubectl get configmap,secret. Эти команды дают направления проверки, но их вывод нужно получить в конкретном кластере; сама карточка не выдаёт состояние инфраструктуры. После создания манифестов источник предлагает сохранить их в Git, настроить CI/CD, рассмотреть Helm или Kustomize для шаблонизации, подключить GitOps через ArgoCD или Flux и добавить monitoring и observability. Это следующие шаги для зрелого процесса поставки, а не обязательные зависимости генератора. Helm или Kustomize полезны, когда конфигурации действительно повторяются между окружениями; для одного небольшого статического набора добавление шаблонного слоя может быть лишним. CI/CD и GitOps также требуют отдельной настройки доступа, секретов, policy и rollback, которых в этом skill нет. Связанные skills в исходнике — helm-chart-scaffolding для упаковки, gitops-workflow для автоматизированной доставки и k8s-security-policies для расширенных политик безопасности. Их названия показывают границы материала: базовый генератор не заменяет отдельный security policy review, observability design или проверку реального rollout. Практическая последовательность такова: определить ресурсы и окружения, разделить код и конфигурацию, задать requests/limits, probes, labels и security context, добавить Service и storage при необходимости, проверить ссылки между ресурсами, выполнить dry-run/validation, сохранить проверенный результат в Git и только потом выбирать способ доставки. Ограничения по-прежнему остаются существенными: выполнение kubectl, наличие кластера, CI/CD, Helm, Kustomize или GitOps не подтверждены одним текстом инструкции.
Для чего подходит
- Создание Kubernetes YAML
- Настройка probes и resource limits
- Подготовка production-манифестов
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/wshobson/agents/tree/main/plugins/kubernetes-operations/skills/k8s-manifest-generator