В этой статье я предлагаю вам решение 30 разных задач, которые часто встречаются в практике DevOps-инженера, и которые легко можно сбросить на нейросеть. Каждая задача подкреплена готовым промптом, который вы можете взять, чуть подкорректировать под свои нужды, если нужно, отправить в нейросеть и получить готовое решение в считанные секунды. 1. Создание Dockerfile для приложения Dockerfile — это инструкция, как упаковать приложение в контейнер. С его помощью можно запускать приложение в любом окружении одинаково. Обычно нужно указывать базовый образ, устанавливать зависимости и настраивать запуск. Промпт: Ты — DevOps-инженер. Создай оптимизированный Dockerfile для Node.js приложения:- Базовый образ: node:20-alpine.- Рабочая директория: /app.- Кэширование зависимостей (npm ci).- Production build + запуск "npm run start".- Минимизация размера: multi-stage build.- Добавь HEALTHCHECK.- Оптимизируй для безопасности (non-root user).Верни только Dockerfile. 2. Подготовка docker-compose для микросервисов docker-compose помогает запускать сразу несколько контейнеров как единый сервис: например, приложение + база данных + кэш. Это удобно для локальной разработки и тестов. Промпт: Сгенерируй docker-compose.yml для 3 сервисов:- api (Node.js, порт 3000),- db (Postgres 15, volume для данных),- redis (latest).Требования:- Вынести переменные в .env.- Настроить сети.- DB и Redis должны быть зависимостями api.Верни полный docker-compose.yml. 3. Генерация Helm chart для Kubernetes Helm chart — это шаблон для установки приложений в Kubernetes. С его помощью можно легко управлять настройками (реплики, порты, переменные окружения). Промпт: Сгенерируй Helm chart для деплоя приложения "my-api":- Deployment + Service + Ingress.- Образ: ghcr.io/org/my-api:1.2.3.- Репликасет: 3.- Переменные окружения из values.yaml.- Поддержка автоскейлинга HPA.Верни структуру чарта (templates + values.yaml). 4. Настройка CI/CD pipeline в GitHub Actions CI/CD (Continuous Integration / Continuous Deployment) автоматизирует сборку, тесты и деплой. GitHub Actions позволяет запускать pipeline при каждом пуше в репозиторий. Промпт: Создай GitHub Actions workflow для деплоя Node.js API:- Запускается при push в main.- Jobs: install deps, lint, test, build, docker build+push, deploy на k8s.- Используй кэш npm.- Деплой через kubectl apply.- Docker registry: ghcr.io/org/project.Верни полный .yml файл. 5. Создание Jenkins pipeline (Jenkinsfile) Jenkins — популярная система CI/CD. В Jenkinsfile описывается, какие шаги выполняются: сборка, тесты, публикация, деплой. Промпт: Составь Jenkinsfile для Java приложения:- Stages: checkout, build (Maven), test (JUnit), docker build, push в registry, deploy на staging.- Используй declarative pipeline.- Добавь post actions: always send email, on failure send Slack.Верни полный Jenkinsfile. 6. Подготовка Terraform модуля для AWS VPC Terraform — инструмент для управления инфраструктурой как кодом. VPC (Virtual Private Cloud) — изолированная сеть в AWS. Обычно создают подсети, интернет-шлюзы, NAT. Промпт: Сгенерируй Terraform модуль для AWS VPC:- CIDR: 10.0.0.0/16.- 2 public + 2 private subnets.- IGW + NAT Gateway.- Tags.Верни main.tf, variables.tf, outputs.tf. 7. Настройка Terraform для Kubernetes EKS EKS (Elastic Kubernetes Service) — это Kubernetes в AWS. Terraform позволяет автоматизировать создание кластера, рабочих нод и всех настроек. Промпт: Создай Terraform код для деплоя AWS EKS:- Версия Kubernetes: 1.29.- Managed node group: 3 узла t3.medium.- IAM роли.- Настрой Security Groups.Верни main.tf, variables.tf, outputs.tf. 8. Автоматизация бэкапов базы данных Бэкапы нужны для восстановления данных при сбоях. Чаще всего DevOps настраивает cron-задачи и загрузку в облако. Промпт: Сгенерируй bash-скрипт для ежедневного бэкапа Postgres:- Используй pg_dump.- Файлы сохраняются в /backups (имя: db-YYYY-MM-DD.sql.gz).- Автоматическая загрузка в S3 (aws cli).- Удалять файлы старше 7 дней.Добавь cron-пример для запуска в 02:00.Верни только код скрипта и cron. 9. Настройка мониторинга Prometheus + Grafana Мониторинг показывает, что происходит с инфраструктурой: нагрузка, память, ошибки. Prometheus собирает метрики, Grafana рисует графики. Промпт: Составь docker-compose.yml для мониторинга:- prometheus (с prometheus.yml).- grafana (с volume для данных).- node-exporter (сбор метрик с хоста).Настрой дашборд Grafana: CPU, RAM, Disk usage.Верни docker-compose.yml + prometheus.yml.Составь docker-compose.yml для мониторинга:- prometheus (с prometheus.yml).- grafana (с volume для данных).- node-exporter (сбор метрик с хоста).Настрой дашборд Grafana: CPU, RAM, Disk usage.Верни docker-compose.yml + prometheus.yml. 10. Настройка логирования через ELK Stack ELK (Elasticsearch, Logstash, Kibana) собирает и анализирует логи. Это упрощает отладку и аудит. Промпт: Сгенерируй docker-compose.yml для ELK:- elasticsearch (с volume).- logstash (с конфигом для input: filebeat, output: elasticsearch).- kibana.Добавь logstash.conf для парсинга JSON логов из /var/log/app/*.log.Верни docker-compose.yml + logstash.conf. 11. Настройка CI/CD pipeline в GitLab GitLab CI/CD работает через .gitlab-ci.yml, где описываются шаги сборки, тестов и деплоя. Это альтернатива Jenkins и GitHub Actions. Промпт: Сгенерируй .gitlab-ci.yml для Node.js приложения:- stages: install, lint, test, build, docker, deploy.- Кэширование node_modules.- Docker build + push в GitLab Container Registry.- Deploy: kubectl apply на staging.- Notifications: Slack при ошибке.Верни полный .gitlab-ci.yml. 12. Автоматизация конфигурации через Ansible Ansible позволяет управлять серверами с помощью playbook’ов: установка ПО, настройка пользователей, деплой приложений. Всё описывается в YAML. Промпт: Составь Ansible playbook для настройки сервера Ubuntu:- Установи Docker и Docker Compose.- Создай пользователя "deployer" с sudo без пароля.- Скопируй ssh-ключ для deployer.- Запусти контейнер nginx на порту 80.Верни playbook.yml + inventory.ini. 13. Kubernetes Deployment и Service манифесты Чтобы запустить приложение в Kubernetes, нужны манифесты Deployment (реплики) и Service (сеть). Это база работы DevOps в k8s. Промпт: Сгенерируй Kubernetes манифесты для приложения "my-app":- Deployment: 3 реплики, контейнер образ ghcr.io/org/my-app:1.0.0.- Service: ClusterIP, порт 8080.- Добавь probes (liveness, readiness).- Переменные окружения из ConfigMap.Верни deployment.yaml + service.yaml. 14. Настройка Nginx reverse proxy Nginx часто используют как обратный прокси: он принимает запросы и перенаправляет их на backend. Также он нужен для балансировки и SSL. Промпт: Сгенерируй конфиг Nginx:- Принимает HTTPS на 443, редиректит HTTP→HTTPS.- Проксирует на backend http://app:3000.- Добавь gzip и кэширование статики.- Настрой rate limiting: 100 req/min.Верни полный nginx.conf. 15. Управление секретами (Kubernetes Secrets) Секреты — это пароли, токены и ключи. В Kubernetes их нужно хранить в безопасном виде, а не в коде. Промпт: Создай Kubernetes Secret "db-credentials":- username: admin- password: s3cur3P@ssЗашифруй данные в base64.Верни secret.yaml и пример использования в Deployment (envFrom). 16. Настройка SSL-сертификатов (Let's Encrypt) Чтобы сайт открывался по HTTPS, нужен SSL-сертификат. Let's Encrypt позволяет получать их бесплатно, но нужно настроить автоматическое обновление. Промпт: Составь инструкцию + docker-compose.yml для certbot:- Автоматический выпуск сертификата для example.com.- Используй webroot метод.- Настрой автообновление через cron.- Добавь volume для хранения сертификатов.Верни docker-compose.yml + cron пример. 17. Автоматическое масштабирование в Kubernetes (HPA) HPA (Horizontal Pod Autoscaler) автоматически увеличивает/уменьшает количество реплик приложения в зависимости от нагрузки (CPU/Memory). Промпт: Сгенерируй манифест HPA для my-app:- Target: Deployment my-app.- MinPods: 2, MaxPods: 10.- CPU utilization: 70%.- Memory utilization: 75%.Верни hpa.yaml. 18. Настройка CI/CD для Python приложения Для Python нужны шаги: установка зависимостей, тесты (pytest), линтинг (flake8), упаковка. Нейросеть может заготовить рабочий pipeline. Промпт: Создай GitHub Actions workflow для Python (Flask API):- Python 3.11.- Шаги: install deps, lint (flake8), test (pytest с coverage), build docker, push в DockerHub.- Кэш pip пакетов.- Docker push: docker.io/myuser/flask-api:latest.Верни .yml файл. 19. Настройка Prometheus alerts Prometheus умеет не только собирать метрики, но и отправлять алерты (например, в Slack), если что-то идёт не так. Промпт: Составь правила alerting для Prometheus:- CPU > 80% в течение 5 минут.- Memory usage > 90%.- Pod status = CrashLoopBackOff.Верни alert.rules.yml.Добавь config Alertmanager для Slack webhook. 20. Автоматическая сборка и публикация Helm chart Когда проект большой, Helm charts тоже нужно собирать и выкладывать в репозиторий (например, GitHub Pages или ChartMuseum). Промпт: Сгенерируй GitHub Actions workflow:- При пуше тега v* создавать Helm chart (my-app).- Паковать chart в .tgz.- Публиковать в GitHub Pages (branch gh-pages).- Генерировать index.yaml.Верни полный .yml файл. 21. Настройка централизованного логирования через Loki + Grafana Loki — альтернатива ELK, но легче и дешевле. Он собирает логи из приложений и хранит их, а Grafana показывает в удобном интерфейсе. Промпт: Составь docker-compose.yml для Loki + Grafana + Promtail:- Grafana с volume для сохранения дашбордов.- Loki для хранения логов.- Promtail для сбора логов из /var/log/*.log.- Настройку promtail.yaml: путь, парсинг JSON, лейблы {job, host}.Верни docker-compose.yml + promtail.yaml. 22. CI/CD для Go приложения Go часто используют для микросервисов. DevOps должен собирать бинарник, тестировать и упаковывать в Docker. Промпт: Создай GitHub Actions workflow для Go API:- Go 1.22.- Шаги: go mod tidy, go build -o app, go test ./..., docker build + push.- Push в ghcr.io/org/go-api:latest.- Кэш go modules.- Параллельные job: тесты и линтер (golangci-lint).Верни полный .yml файл. 23. Terraform модуль для GCP (Google Cloud Storage) Иногда нужно быстро создать облачное хранилище для файлов (например, бэкапов). Terraform позволяет описать bucket как код. Промпт: Сгенерируй Terraform модуль для GCP Storage Bucket:- Имя: my-project-bucket.- Локация: EU.- Версионирование включено.- Публичный доступ запрещён.- Добавь outputs: bucket_url.Верни main.tf, variables.tf, outputs.tf. 24. Terraform модуль для Azure (Virtual Network) Azure VNet — аналог AWS VPC. DevOps настраивает подсети, security groups и шлюзы. Промпт: Сгенерируй Terraform модуль для Azure Virtual Network:- CIDR: 10.1.0.0/16.- 2 subnets (frontend, backend).- NSG (разрешить 80/443 для frontend).- Outputs: vnet_id, subnet_ids.Верни main.tf, variables.tf, outputs.tf. 25. Настройка HashiCorp Vault для хранения секретов Vault — популярный инструмент для безопасного хранения паролей, API-ключей и сертификатов. Промпт: Составь docker-compose.yml для Vault:- Один контейнер vault в dev-режиме.- Volume для данных.- Config: enable UI, listen 0.0.0.0:8200, storage file.- Пример CLI-команды: запись и чтение секрета secret/db-pass.Верни docker-compose.yml + vault-config.hcl. 26. GitOps деплой через ArgoCD ArgoCD автоматически синхронизирует код из git-репозитория с Kubernetes-кластером. Это позволяет «деплоить через git». Промпт: Сгенерируй манифест ArgoCD Application:- Имя: my-app.- Namespace: argocd.- RepoURL: https://github.com/org/my-app-k8s.git.- Path: charts/my-app.- TargetRevision: main.- Destination: namespace=production, server=https://kubernetes.default.svc.- Автосинхронизация: enabled, prune, selfHeal.Верни application.yaml. 27. Cloud-init для настройки новых серверов Cloud-init используется в облаках (AWS, GCP, Azure) для автоматической инициализации новых VM: пользователи, пакеты, сервисы. Промпт: Составь cloud-init YAML для Ubuntu:- Создай пользователя "devops" с sudo.- Установи Docker и Git.- Скопируй ssh-ключ.- Настрой hostname = app-server.- Выполни apt update и upgrade.Верни полный cloud-init.yaml. 28. Настройка S3 bucket для статического сайта AWS S3 может хранить и раздавать статические сайты (HTML, JS, CSS). Нужно правильно настроить права и index.html. Промпт: Сгенерируй Terraform код для S3 bucket:- bucket: my-static-site.- website hosting enabled (index.html, error.html).- Политика: публичный доступ для чтения.- Output: website_endpoint.Верни main.tf + policy.json. 29. Настройка CDN через CloudFront CDN ускоряет доставку сайта по всему миру. В AWS это CloudFront. Обычно подключают его к S3 или API Gateway. Промпт: Составь Terraform код для CloudFront:- Origin: S3 bucket my-static-site.- Default TTL: 3600.- SSL сертификат (ACM arn как переменная).- Redirect HTTP → HTTPS.- Output: cloudfront_domain_name.Верни main.tf, variables.tf, outputs.tf. 30. Настройка лог-агента Fluentd Fluentd собирает логи и отправляет их в разные системы (Elasticsearch, Loki, Kafka). Это часто используют для централизованного логирования. Промпт: Сгенерируй конфиг fluentd.conf:- Input: tail /var/log/app/*.log (format json).- Filter: добавь поля app=my-app, env=prod.- Output: Elasticsearch http://elasticsearch:9200, index app-logs.Верни fluentd.conf.