DevOps-инженеры ежедневно сталкиваются с рутиной: написание YAML-манифестов, отладка пайплайнов, конфигурирование Terraform. Ошибка в одном отступе может обрушить деплой. ИИ-ассистенты уже сейчас помогают автоматизировать эти задачи, но без правильных промтов толку мало. В этой подборке — 12 проверенных промтов для генерации, ревью и отладки инфраструктурного кода. Каждый промт готов к копипасту и сопровождается примером.
1. Генерация Dockerfile для Python-приложения с многоступенчатой сборкой
Задача: Создать оптимальный Dockerfile для FastAPI-сервиса, минимизировав размер образа.
Промт:
"Ты — эксперт по Docker. Напиши многоступенчатый Dockerfile для Python 3.12 + FastAPI. Используй poetry для зависимостей, непривилегированного пользователя и кэширование слоёв. Объясни каждую инструкцию."
Пример использования:
# Этап сборки
FROM python:3.12-slim AS builder
WORKDIR /app
RUN pip install poetry
COPY pyproject.toml poetry.lock ./
RUN poetry export -f requirements.txt --output requirements.txt
# Финальный этап
FROM python:3.12-slim
WORKDIR /app
COPY --from=builder /app/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
RUN useradd -m appuser && chown -R appuser /app
USER appuser
CMD ["uvicorn", "main:app", "--host", "0.0.0.0"]
2. Генерация манифеста Kubernetes Deployment с HPA
Задача: Развернуть приложение в K8s с автомасштабированием.
Промт:
"Создай YAML для Kubernetes Deployment и HorizontalPodAutoscaler. Приложение слушает порт 8080, образ myapp:latest, 3 реплики, лимиты CPU 500m, память 512Mi. HPA должен масштабировать от 2 до 10 подов при загрузке CPU >70%."
Пример:
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:latest
ports:
- containerPort: 8080
resources:
limits:
cpu: "500m"
memory: "512Mi"
---
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: myapp-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: myapp
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
3. Написание Terraform-конфигурации для AWS VPC
Задача: Создать VPC с публичными и приватными подсетями.
Промт:
"Сгенерируй Terraform код для AWS VPC с CIDR 10.0.0.0/16, двумя публичными и двумя приватными подсетями в разных AZ. Добавь Internet Gateway и NAT Gateway. Используй модуль terraform-aws-modules/vpc/aws."
Пример:
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
name = "my-vpc"
cidr = "10.0.0.0/16"
azs = ["us-east-1a", "us-east-1b"]
private_subnets = ["10.0.1.0/24", "10.0.2.0/24"]
public_subnets = ["10.0.101.0/24", "10.0.102.0/24"]
enable_nat_gateway = true
enable_vpn_gateway = false
tags = { Terraform = "true" }
}
4. Ревью YAML и поиск ошибок
Задача: Проверить манифест на типичные ошибки.
Промт:
"Проверь этот Kubernetes YAML на ошибки: неверные отступы, отсутствующие обязательные поля, устаревшие API. Выведи список проблем с пояснениями."
Пример: ИИ укажет, что в apiVersion: extensions/v1beta1 устарел, нужно apps/v1, или что не задан selector.
5. Генерация GitLab CI пайплайна для тестов и сборки
Задача: Автоматизировать тестирование и сборку Docker-образа.
Промт:
"Напиши .gitlab-ci.yml для Python-проекта: этапы test (pytest), build (docker build), deploy (kubectl apply). Используй кэширование pip и только для ветки main."
Пример:
stages:
- test
- build
- deploy
test:
stage: test
image: python:3.12
script:
- pip install -r requirements.txt
- pytest
build:
stage: build
image: docker:latest
services:
- docker:dind
script:
- docker build -t myapp:$CI_COMMIT_SHA .
only:
- main
deploy:
stage: deploy
image: bitnami/kubectl
script:
- kubectl apply -f k8s/
only:
- main
6. Настройка мониторинга с Prometheus и Grafana
Задача: Развернуть стек мониторинга для K8s.
Промт:
"Создай Helm values для kube-prometheus-stack: включи Grafana с ingress, настрой retention 15 дней, добавь алерт на падение подов."
Пример:
grafana:
ingress:
enabled: true
hosts:
- grafana.example.com
prometheus:
prometheusSpec:
retention: 15d
7. Отладка пайплайна: анализ логов
Задача: Понять, почему упал CI.
Промт:
"Проанализируй лог ошибки GitLab CI: 'ERROR: Job failed: exit code 1'. Вот фрагмент: ... Предложи шаги исправления."
Пример: ИИ определит, что не установлена зависимость, и предложит добавить шаг pip install.
8. Генерация Ansible playbook для настройки сервера
Задача: Автоматизировать конфигурацию VM.
Промт:
"Напиши Ansible playbook для установки Nginx, Docker и создания пользователя deploy с sudo. Используй become: yes."
Пример:
- hosts: webservers
become: yes
tasks:
- name: Install Nginx
apt:
name: nginx
state: present
- name: Add deploy user
user:
name: deploy
groups: sudo
shell: /bin/bash
9. Создание Helm-чарта для микросервиса
Задача: Упаковать приложение в Helm.
Промт:
"Сгенерируй структуру Helm-чарта для микросервиса: deployment, service, ingress, values.yaml с параметрами образа и реплик."
Пример: ИИ создаст файлы Chart.yaml, values.yaml, шаблоны в templates/.
10. Оптимизация Terraform: уменьшение количества ресурсов
Задача: Сократить затраты в AWS.
Промт:
"Проанализируй этот Terraform код и предложи, как уменьшить количество EC2 инстансов, используя Auto Scaling Group. Объясни выгоду."
Пример: ИИ заменит статические инстансы на ASG с политикой масштабирования.
11. Генерация политик безопасности Kubernetes (NetworkPolicy)
Задача: Ограничить трафик между подами.
Промт:
"Напиши NetworkPolicy, разрешающую входящий трафик только от подов с меткой app=frontend на порт 8080."
Пример:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-frontend
spec:
podSelector:
matchLabels:
app: backend
ingress:
- from:
- podSelector:
matchLabels:
app: frontend
ports:
- protocol: TCP
port: 8080
12. Написание скрипта для бэкапа etcd
Задача: Автоматизировать резервное копирование кластера.
Промт:
"Напиши bash-скрипт для создания снапшота etcd с помощью etcdctl, сжатия и загрузки в S3. Учти переменные окружения для сертификатов."
Пример:
#!/bin/bash
ETCDCTL_API=3 etcdctl snapshot save snapshot.db \
--endpoints=https://127.0.0.1:2379 \
--cacert=/etc/kubernetes/pki/etcd/ca.crt \
--cert=/etc/kubernetes/pki/etcd/server.crt \
--key=/etc/kubernetes/pki/etcd/server.key
tar czf snapshot.tar.gz snapshot.db
aws s3 cp snapshot.tar.gz s3://my-backup-bucket/
Все эти промты проверены на практике и помогают сократить время на рутинные операции. Главное — давать ИИ чёткие требования и контекст. Экспериментируйте, адаптируйте под свои задачи и делитесь результатами. Если хотите углубиться в автоматизацию с ИИ, изучите наши курсы по DevOps — там больше практических кейсов.
Комментарии