10 промтов для DevOps, которые заменят рутину: Docker, Kubernetes и CI/CD под контролем ИИ

DevOps-инженеры тонут в рутине: написание Dockerfile, дебаг манифестов Kubernetes, настройка пайплайнов. Но что, если часть этой работы можно делегировать нейросети? Я собрал 10 проверенных промтов, которые реально экономят часы. Они не заменят тебя, но избавят от механических действий. Вот как выжать максимум из ИИ в инфраструктуре.

1. Генерация оптимального Dockerfile

Когда использовать: нужно быстро создать Dockerfile для типового приложения, но не хочется вспоминать все нюансы многоступенчатой сборки.

Промт:

Создай production-ready Dockerfile для [Python/Node.js/Go] приложения. Учитывай: многоступенчатую сборку, минимальный размер образа, non-root пользователя, кэширование зависимостей. Объясни каждую строку. Добавь комментарий о том, как проверить образ на уязвимости.

Пример:

Создай production-ready Dockerfile для Python FastAPI приложения с использованием uv. Учитывай: многоступенчатую сборку, минимальный размер образа, non-root пользователя, кэширование зависимостей. Объясни каждую строку. Добавь комментарий о том, как проверить образ на уязвимости (например, docker scout).

Результат: ИИ выдаст Dockerfile с этапом сборки, установкой зависимостей и финальным образом. Ты получишь готовый файл и понимание, почему он устроен именно так.

2. Оптимизация существующего Dockerfile

Когда использовать: есть рабочий, но «толстый» Dockerfile, который хочется ускорить и уменьшить.

Промт:

Вот мой Dockerfile: [вставь код]. Проанализируй его. Предложи 3 конкретных улучшения: уменьшение размера, ускорение сборки, повышение безопасности. Покажи изменённый Dockerfile целиком. Для каждого улучшения объясни, как оно влияет на рантайм.

Пример:

Вот мой Dockerfile: 
FROM ubuntu:latest
RUN apt-get update && apt-get install -y python3 python3-pip
COPY . /app
WORKDIR /app
RUN pip3 install -r requirements.txt
EXPOSE 8000
CMD ["python3", "app.py"]

Проанализируй его. Предложи 3 конкретных улучшения: уменьшение размера, ускорение сборки, повышение безопасности. Покажи изменённый Dockerfile целиком. Для каждого улучшения объясни, как оно влияет на рантайм.

Результат: ИИ предложит использовать python:3.12-slim, multi-stage, отдельного non-root юзера и .dockerignore. Ты увидишь разницу в размере и безопасности.

3. Создание манифеста Kubernetes (Deployment + Service)

Когда использовать: нужно быстро задеплоить приложение в K8s, но не хочется писать YAML с нуля.

Промт:

Сгенерируй Kubernetes манифест для [приложение]: Deployment с 3 репликами, стратегией RollingUpdate, liveness и readiness пробами, ресурсами (requests/limits), и Service типа ClusterIP с портом 80. Добавь комментарии к каждому полю. Используй apiVersion apps/v1.

Пример:

Сгенерируй Kubernetes манифест для nginx: Deployment с 3 репликами, стратегией RollingUpdate, liveness и readiness пробами, ресурсами (requests/limits), и Service типа ClusterIP с портом 80. Добавь комментарии к каждому полю. Используй apiVersion apps/v1.

Результат: Получишь готовый YAML с правильными полями. Это хорошая отправная точка для дальнейшей кастомизации.

4. Диагностика проблем в Kubernetes

Когда использовать: поды в CrashLoopBackOff, и ты не понимаешь, почему. Нужна системная помощь.

Промт:

У меня под в Kubernetes находится в статусе CrashLoopBackOff. Вот описание пода и логи: [вставь kubectl describe pod и kubectl logs]. Проанализируй и предложи 3 возможные причины и способы их устранения. Для каждой причины укажи, как проверить гипотезу.

Пример:

У меня под в Kubernetes находится в статусе CrashLoopBackOff. Вот описание пода и логи: 
Name: my-app-7d8f9c
Status: CrashLoopBackOff
Last State: Terminated, Reason: Error, Exit Code: 1
Логи: Error: listen EADDRINUSE: address already in use :::8080

Проанализируй и предложи 3 возможные причины и способы их устранения. Для каждой причины укажи, как проверить гипотезу.

Результат: ИИ укажет на конфликт портов, неверную переменную окружения или недостаточные ресурсы. Ты получишь план действий.

5. Написание CI/CD пайплайна (GitHub Actions)

Когда использовать: нужно настроить автодеплой приложения на GitHub Actions, но не хочется изучать документацию по каждому шагу.

Промт:

Создай GitHub Actions workflow для [Python/Node.js] приложения: триггер на push в main, установка зависимостей, запуск тестов, сборка Docker-образа, публикация в Docker Hub, деплой на Kubernetes (kubectl set image). Используй официальные actions (actions/checkout@v4 и т.д.). Добавь комментарии.

Пример:

Создай GitHub Actions workflow для Node.js приложения: триггер на push в main, установка зависимостей (npm ci), запуск тестов (npm test), сборка Docker-образа, публикация в Docker Hub, деплой на Kubernetes (kubectl set image). Используй официальные actions (actions/checkout@v4 и т.д.). Добавь комментарии.

Результат: Получишь файл .github/workflows/deploy.yml с понятной структурой. Останется только добавить секреты.

6. Написание пайплайна Jenkins (Declarative Pipeline)

Когда использовать: у вас legacy-инфраструктура на Jenkins, и нужно автоматизировать сборку и деплой.

Промт:

Напиши Jenkinsfile (Declarative Pipeline) для сборки и деплоя [Java/Maven] приложения: этапы: Checkout, Build (mvn clean package), Test, Docker Build, Push to registry, Deploy to K8s (kubectl apply). Используй агент с docker, добавь post-действия для уведомлений в Slack. Комментарии на русском.

Пример:

Напиши Jenkinsfile (Declarative Pipeline) для сборки и деплоя Java/Maven приложения: этапы: Checkout, Build (mvn clean package), Test, Docker Build, Push to registry, Deploy to K8s (kubectl apply). Используй агент с docker, добавь post-действия для уведомлений в Slack. Комментарии на русском.

Результат: Готовый Jenkinsfile с правильным синтаксисом. Ты сэкономишь время на изучении документации.

7. Создание Terraform-скрипта для инфраструктуры

Когда использовать: нужно поднять виртуальную машину в облаке или настроить сеть, но лень писать конфигурацию с нуля.

Промт:

Создай Terraform-конфигурацию для развертывания [AWS EC2 instance / Azure VM / GCP Compute Engine] с установкой [Docker/nginx] через user_data. Укажи провайдера, versioning, теги. Добавь комментарии. Используй переменные для ключевых параметров (регион, тип инстанса).

Пример:

Создай Terraform-конфигурацию для развертывания AWS EC2 instance с установкой Docker через user_data. Укажи провайдера, versioning, теги. Добавь комментарии. Используй переменные для ключевых параметров (регион, тип инстанса).

Результат: Файл main.tf с ресурсом aws_instance, security group и user_data для установки Docker. Останется только запустить terraform apply.

8. Генерация Ansible-плейбука

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

Промт:

Напиши Ansible playbook для настройки [Ubuntu/CentOS] сервера: установка [nginx/docker], копирование конфигурационного файла из templates, запуск и включение службы. Укажи become: true. Добавь комментарии. Используй модули apt/dnf, copy, service.

Пример:

Напиши Ansible playbook для настройки Ubuntu сервера: установка nginx, копирование конфигурационного файла из templates, запуск и включение службы. Укажи become: true. Добавь комментарии. Используй модули apt, copy, service.

Результат: Плейбук с тремя тасками: установка, копирование, запуск. Ты сможешь применить его к группе хостов.

9. Формирование запроса на проверку кода (PR) с описанием

Когда использовать: нужно быстро составить описание для pull request, особенно если изменения касаются инфраструктуры.

Промт:

Сгенерируй описание для pull request на основе следующего diff: [вставь git diff]. Опиши: что изменено, зачем, как это влияет на инфраструктуру (например, обновление версии Docker, изменение портов), список файлов. Укажи, какие тесты нужно прогнать.

Пример:

Сгенерируй описание для pull request на основе следующего diff: 
+FROM python:3.12-slim
- FROM python:3.9
+EXPOSE 8080
- EXPOSE 8000

Опиши: что изменено, зачем, как это влияет на инфраструктуру, список файлов. Укажи, какие тесты нужно прогнать.

Результат: Чёткое описание, которое можно сразу вставить в PR. Это улучшит коммуникацию в команде.

10. Написание скрипта для бэкапа базы данных

Когда использовать: нужен надёжный скрипт для регулярного бэкапа PostgreSQL или MySQL и загрузки в S3.

Промт:

Напиши bash-скрипт для бэкапа PostgreSQL базы данных: использование pg_dump, сжатие gzip, хранение последних 7 копий, загрузка в S3 (aws s3 cp). Добавь обработку ошибок и логирование с датой. Комментарии на русском.

Пример:

Напиши bash-скрипт для бэкапа PostgreSQL базы данных: использование pg_dump, сжатие gzip, хранение последних 7 копий, загрузка в S3 (aws s3 cp). Добавь обработку ошибок и логирование с датой. Комментарии на русском.

Результат: Скрипт, который можно добавить в cron. Он будет выполнять бэкап, удалять старые файлы и отправлять в облако.

11. Анализ логов и поиск ошибок

Когда использовать: нужно быстро найти причину ошибки в логах приложения, особенно если их много.

Промт:

Проанализируй следующие логи: [вставь логи]. Определи: тип ошибки, возможную причину, как её исправить. Если ошибок несколько, перечисли их по критичности. Предложи команду для grep, чтобы найти подобные ошибки в будущем.

Пример:

Проанализируй следующие логи: 
2026-08-19 10:00:01 ERROR: Connection refused to 10.0.0.1:5432
2026-08-19 10:00:02 ERROR: Timeout after 30s

Определи: тип ошибки, возможную причину, как её исправить. Если ошибок несколько, перечисли их по критичности. Предложи команду для grep, чтобы найти подобные ошибки в будущем.

Результат: ИИ укажет на проблемы с сетью или недоступность БД. Ты получишь конкретные шаги и команду для мониторинга.

12. Оптимизация запросов к базам данных

Когда использовать: нужно ускорить медленные SQL-запросы, но не хочется разбираться в плане выполнения.

Промт:

Вот SQL-запрос: [вставь запрос]. Проанализируй его производительность. Предложи 3 оптимизации: индексы, изменение структуры запроса, денормализация. Объясни, как проверить результат с помощью EXPLAIN.

Пример:

Вот SQL-запрос: SELECT * FROM orders WHERE user_id = 123 AND created_at > '2026-01-01';
Проанализируй его производительность. Предложи 3 оптимизации: индексы, изменение структуры запроса, денормализация. Объясни, как проверить результат с помощью EXPLAIN.

Результат: Рекомендации по созданию составного индекса и использованию EXPLAIN. Это ускорит выполнение запроса.

13. Генерация документации по инфраструктуре

Когда использовать: нужно описать архитектуру проекта, но руки не доходят.

Промт:

Создай документацию по инфраструктуре для проекта [название]. Опиши: компоненты (Docker, K8s, CI/CD), схему взаимодействия, порты, переменные окружения, команды для деплоя. Используй Markdown, добавь таблицу с сервисами.

Пример:

Создай документацию по инфраструктуре для проекта my-app. Опиши: компоненты (Docker, K8s, CI/CD), схему взаимодействия, порты, переменные окружения, команды для деплоя. Используй Markdown, добавь таблицу с сервисами.

Результат: Готовая страница в README или Wiki, которая поможет новым коллегам быстрее влиться.

14. Написание скрипта для мониторинга (Prometheus)

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

Промт:

Напиши конфигурацию Prometheus для сбора метрик с [Node.js приложения / Docker контейнеров]. Добавь правила алертинга (например, если CPU > 80%). Используй формат prometheus.yml. Покажи примеры запросов PromQL для проверки.

Пример:

Напиши конфигурацию Prometheus для сбора метрик с Node.js приложения (через express-prom-bundle). Добавь правила алертинга (например, если CPU > 80%). Используй формат prometheus.yml. Покажи примеры запросов PromQL для проверки.

Результат: Конфиг с job_name, targets и rules. Ты сможешь подключить его к своему Prometheus.

15. Объяснение ошибок Docker и Kubernetes

Когда использовать: столкнулся с ошибкой, но не понимаешь, что она значит.

Промт:

Объясни ошибку: [вставь сообщение об ошибке]. Что она означает, какие причины, как исправить. Приведи пример команды для диагностики.

Пример:

Объясни ошибку: Error response from daemon: driver failed programming external connectivity on endpoint my-app: Bind for 0.0.0.0:8080 failed: port is already allocated.
Что она означает, какие причины, как исправить. Приведи пример команды для диагностики.

Результат: Понятное объяснение и решение. Ты быстро найдёшь, какой процесс занимает порт.

Эти промты — не магия, а инструмент. Они не заменят глубоких знаний, но сэкономят часы на рутине. Попробуй применить их в своём следующем проекте и увидишь, как много времени можно освободить для действительно сложных задач. А если у тебя есть свои любимые промты — делись в комментариях, обсудим!

← Все статьи

Комментарии

Читайте также