DevOps без ночных дежурств: 11 промтов для Docker, Kubernetes и Terraform, которые забирают рутину на себя

DevOps без ночных дежурств: 11 промтов для Docker, Kubernetes и Terraform, которые забирают рутину на себя

Ночной алерт в 3:47, CrashLoopBackOff на проде, а ты лихорадочно листаешь документацию Kubernetes, пытаясь вспомнить, чем livenessProbe отличается от readinessProbe. Знакомо? По данным отчёта DORA «Accelerate State of DevOps» (Google Cloud, 2024), команды с высокой зрелостью доставки тратят на незапланированную работу и пожары заметно меньше времени, чем отстающие — и именно здесь помогает автоматизация мышления, а не только пайплайнов.

Промты для DevOps — это не «замените инженера нейросетью». Это способ снять 60–70% рутины: написание Dockerfile, генерацию манифестов, разбор логов, черновики Terraform и CI/CD-конфигов. Инженер остаётся тем, кто принимает решения, а ИИ берёт на себя скучную механику. Ниже — 11 проверенных запросов, которые реально экономят часы.

1. Dockerfile с multi-stage сборкой и минимальным образом

Задача: быстро получить production-ready Dockerfile для Python/Node/Go без раздутого образа.

Промт:

Ты senior DevOps-инженер. Напиши Dockerfile для [язык/фреймворк] приложения.
Требования: multi-stage build, базовый образ alpine или distroless,
непривилегированный пользователь, .dockerignore, healthcheck,
кэширование слоёв зависимостей. Объясни каждый слой одной строкой.

Ожидаемый результат: рабочий Dockerfile с комментариями + список типичных ошибок (запуск от root, отсутствие --no-cache, лишние dev-зависимости в финальном слое).

2. Оптимизация размера и скорости сборки образа

Задача: образ весит 1.2 ГБ и собирается 6 минут.

Промт:

Вот мой Dockerfile: [вставить]. Проанализируй и предложи оптимизации:
порядок слоёв для кэша, объединение RUN, удаление кэшей пакетных менеджеров,
переход на distroless. Дай diff-версию и оцени выигрыш в МБ и секундах.

ИИ часто находит неочевидное: например, что apt-get update и apt-get install в разных слоях ломают кэш.

3. Docker Compose для локальной разработки

Задача: поднять приложение + БД + Redis + очередь одной командой.

Промт:

Сгенерируй docker-compose.yml для [стек]: app, postgres 16, redis 7, rabbitmq.
Добавь healthcheck, depends_on с condition, volumes для данных,
.env переменные, отдельный override-файл для dev с hot-reload.

4. Генерация Kubernetes-манифестов с best practices

Задача: деплой без гугления каждого поля.

Промт:

Создай манифест Deployment + Service + Ingress для [приложение].
Включи: requests/limits, livenessProbe и readinessProbe с корректными
initialDelaySeconds, securityContext (runAsNonRoot, readOnlyRootFilesystem),
PodDisruptionBudget. Прокомментируй, почему выбраны такие значения.

Важно: probes — самая частая причина CrashLoopBackOff. ИИ напомнит, что readinessProbe убирает под из балансировки, а livenessProbe перезапускает его.

5. Дебаг падающего пода по логам и событиям

Задача: под в статусе CrashLoopBackOff, OOMKilled или Pending.

Промт:

Под в состоянии [статус]. Вот вывод `kubectl describe pod` и `kubectl logs --previous`:
[вставить]. Определи root cause, дай пошаговый план фикса и команды
для проверки гипотезы. Укажи, какие метрики смотреть дальше.

Кейс из практики: Pending почти всегда — нехватка ресурсов на нодах или несовпадение nodeSelector/taints. ИИ за секунды сопоставляет события с причинами.

6. Terraform-модуль с переменными и outputs

Задача: Infrastructure as Code без копипаста.

Промт:

Напиши переиспользуемый Terraform-модуль для [ресурс, напр. AWS EKS или S3].
Структура: main.tf, variables.tf, outputs.tf, versions.tf с pinning провайдера.
Добавь валидацию переменных, sensible defaults, теги. Покажи пример вызова модуля.

7. Ревью Terraform-плана перед apply

Задача: не снести прод случайным terraform apply.

Промт:

Вот вывод `terraform plan`: [вставить]. Найди опасные изменения:
recreate ресурсов с состоянием, удаление БД, изменение security groups,
downtime. Отметь, что требует ручного подтверждения и бэкапа.

8. CI/CD-пайплайн в GitHub Actions

Задача: от коммита до прода с тестами и сканированием.

Промт:

Создай GitHub Actions workflow для [стек]: lint, тесты, сборка образа,
скан уязвимостей (trivy), пуш в registry, деплой в staging/prod через
environments. Используй кэш, matrix, concurrency для отмены старых запусков.

9. Разбор инцидента и post-mortem

Задача: превратить хаос алертов в понятный таймлайн.

Промт:

Ниже лог инцидента и метрики: [вставить]. Составь таймлайн, определи
первопричину (5 Whys), предложи 3 preventive-меры и SLO, который
поймал бы это раньше. Формат — post-mortem без поиска виноватых.

10. Helm-чарт с values для окружений

Задача: один чарт — dev/staging/prod.

Промт:

Сгенерируй Helm-чарт для [приложение]: Chart.yaml, values.yaml,
values-dev.yaml, values-prod.yaml, шаблоны с _helpers.tpl.
Покажи, как переопределять replicas, resources и ingress per environment.

11. Промт для «объясни как новичку»

Задача: разобраться в незнакомой технологии быстро.

Промт:

Объясни [концепт, напр. Service Mesh, Istio, оператор Kubernetes]
на уровне middle-инженера: зачем нужен, какую проблему решает,
минимальный пример конфига, типичные грабли при внедрении.
Без воды, с аналогиями.

Как использовать это правильно

Принцип Что делать
Проверяй всё ИИ галлюцинирует в версиях API — сверяйся с официальной документацией Kubernetes и Terraform Registry
Давай контекст Чем больше логов, версий и ограничений — тем точнее ответ
Итерации Первый ответ — черновик, уточняй и проси объяснить решения
Безопасность Никогда не вставляй секреты, токены и приватные ключи в промт

Официальные источники, на которые стоит опираться: документация Kubernetes (kubernetes.io/docs), Terraform Registry (registry.terraform.io), Docker Docs (docs.docker.com), а также отчёты DORA для понимания метрик доставки.

ИИ не отменяет дежурства, но убирает ту часть ночных бдений, где ты просто ищешь правильный синтаксис. Освободившиеся часы лучше вложить в архитектуру, SLO и снижение toil — именно это отличает зрелую команду от той, что тушит пожары каждую ночь. Начни с одного промта из списка сегодня — например, прогони свой Dockerfile через пункт 2, и посмотри, сколько мегабайт и минут ты вернёшь себе.

← All posts

Comments