Работа с Kubernetes требует постоянного написания манифестов, настройки Helm-чартов и отладки деплоев. Даже опытные инженеры тратят часы на поиск правильных параметров в документации. Промты — это способ заставить нейросеть взять на себя рутину. В этой подборке — 12 проверенных промтов для K8s, разделённых на базовые, продвинутые и экспертные. Каждый промт сопровождается примером результата, чтобы вы понимали, чего ждать от модели.
Базовые промты
1. Генерация манифеста Pod
Задача: быстро получить YAML-манифест пода с заданными параметрами.
Промт: «Сгенерируй Kubernetes-манифест Pod: имя my-app, образ nginx:1.27, метки app: my-app, порт 80, ресурсы requests: cpu 100m, memory 128Mi, limits: cpu 200m, memory 256Mi.»
Результат: модель вернёт YAML, который можно сразу сохранить в файл. Это ускоряет создание подов для тестирования и экономит время на ручном написании.
2. Создание Service
Задача: сгенерировать Service для существующего деплоймента.
Промт: «Создай манифест Service type: ClusterIP, selector app: my-app, порт 80 на targetPort 8080, имя my-service.»
Результат: YAML-манифест сервиса. Модель также переведёт параметры в корректный формат, что полезно новичкам.
3. Создание Ingress
Задача: настроить Ingress для маршрутизации трафика.
Промт: «Сгенерируй Ingress-манифест для приложения my-app, хост example.com, путь /, сервис my-service, порт 80, используй ingressClassName nginx.»
Результат: манифест Ingress с правильными аннотациями. Это помогает быстро настраивать внешний доступ.
4. Деплоймент с нуля
Задача: создать полноценный Deployment с автомасштабированием.
Промт: «Напиши манифест Deployment: имя api-server, образ myregistry/api:v2, реплики 3, strategy RollingUpdate, livenessProbe: httpGet /health, ресурсы requests/limits, а также HPA с target CPU 70%.»
Результат: модель вернёт два манифеста — Deployment и HorizontalPodAutoscaler, что позволяет масштабировать приложение без ручных расчётов.
Продвинутые промты
5. Оптимизация resource requests/limits
Задача: подобрать оптимальные ресурсы для контейнеров.
Промт: «Для пода с приложением Java (JVM) с объёмом heap 512 МБ предложи значения requests и limits для CPU и memory, учитывая overhead JVM, и объясни, почему.»
Результат: рекомендации с пояснением, как рассчитать overhead. Это помогает избежать OOMKill и снизить затраты.
6. Создание Helm chart
Задача: сгенерировать структуру Helm chart и основные шаблоны.
Промт: «Создай Helm chart для микросервиса order-service: Chart.yaml, values.yaml с параметрами image.repository, image.tag, replicaCount, сервис, deployment с liveness/readiness пробами, и сервис type ClusterIP. Используй шаблоны с include.»
Результат: структура чарта с правильными путями шаблонов. Это ускоряет создание новых чартов.
7. Диагностика пода
Задача: разобрать команды для отладки неработающего пода.
Промт: «Дай чек-лист диагностики пода в статусе CrashLoopBackOff: какие команды (kubectl describe, logs, exec) и что искать в выводе.»
Результат: список команд и трактовка типичных причин. Это сокращает время восстановления сервиса.
8. Обновление деплоя без простоя
Задача: выполнить rolling update с откатом.
Промт: «Опиши процесс обновления образа в Deployment с помощью kubectl set image, включая команды для отслеживания статуса и отката (kubectl rollout undo).»
Результат: последовательность команд с пояснениями. Модель также предупредит, когда использовать rollout restart.
Экспертные промты
9. Сложный Helm chart с зависимостями
Задача: создать чарт с несколькими зависимыми сервисами.
Промт: «Сгенерируй Helm chart для приложения, состоящего из frontend, backend и postgresql. Подключи зависимость postgresql из bitnami через requirements.yaml (для Helm 2) или Chart.yaml dependencies (для Helm 3). Настрой значения для каждого сервиса.»
Результат: структура чарта с зависимостями и values.yaml для настройки. Это помогает моделировать сложные окружения.
10. NetworkPolicy
Задача: настроить сетевую политику для запрета трафика между подами.
Промт: «Создай NetworkPolicy, которая разрешает входящие подключения к pod selector app: backend только из подов с меткой role: frontend, и запрещает остальные. Укажи политики для портов.»
Результат: YAML-манифест NetworkPolicy с правильными селекторами. Это критично для безопасности в кластере.
11. Под с init-контейнером
Задача: сгенерировать под с init-контейнером для подготовки данных.
Промт: «Напиши Pod-манифест: основной контейнер myapp, образ nginx, и init-контейнер download, который скачивает файл с URL в общий volume. Используй образ curlimages/curl.»
Результат: корректный манифест с volumeMounts. Это востребовано при обработке данных перед запуском.
12. Промт для мониторинга
Задача: развернуть мониторинг с Prometheus Operator.
Промт: «Дай команды для установки kube-prometheus-stack через Helm в namespace monitoring, настрой ingress для grafana и включи сбор метрик с пода приложения.»
Результат: набор команд с параметрами. Это позволяет быстро поднять observability.
Заключение
Эти 12 промтов покрывают повседневные задачи Kubernetes-инженера: от генерации базовых манифестов до настройки сложных Helm-чартов и политик. Используйте их как отправную точку, адаптируйте под свой контекст и всегда проверяйте результат на тестовом кластере. Официальная документация (kubernetes.io/docs, helm.sh/docs) остаётся источником истины — промты лишь ускоряют рутину.
Комментарии