Промты для инфраструктуры без лишних рук: собираем Docker, Kubernetes и CI/CD-пайплайны диалогом с ChatGPT

Представьте: вы — единственный разработчик в проекте или тимлид небольшой команды, и на вас сваливается вся инфраструктура. Docker, Kubernetes, CI/CD, Terraform, мониторинг… Раньше для этого нанимали отдельного инженера, теперь же можно вести диалог с ИИ, который знает синтаксис манифестов, помнит лучшие практики и готов генерировать рабочие конфиги по первому запросу.

В этой подборке — проверенные промты для DevOps-задач. Каждый промт — это готовый шаблон, который вы можете скопировать, подставить свои значения и получить результат. Мы разбили их по уровням: от базовых (Dockerfile, docker-compose) до экспертных (Helm, Terraform, отладка Kubernetes). Все примеры кода реальны и протестированы.

Базовый уровень: контейнеризация без головной боли

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

Задача: Написать Dockerfile для FastAPI-приложения, который будет кэшировать зависимости, использовать multi-stage сборку и не тащить в прод лишние пакеты.

Промт:

Ты — опытный DevOps-инженер. Напиши Dockerfile для Python 3.12 приложения на FastAPI с менеджером зависимостей poetry. Требования:
- multi-stage сборка (builder + runtime)
- кэширование слоёв: сначала копируй pyproject.toml и poetry.lock, устанавливай зависимости, затем копируй код
- используй slim-образ
- запускай от непривилегированного пользователя
- добавь healthcheck
Поясни каждую инструкцию.

Пример результата (сокращённо):

# builder
FROM python:3.12-slim AS builder
WORKDIR /app
RUN pip install poetry==1.8.3
COPY pyproject.toml poetry.lock ./
RUN poetry export --without-hashes --format=requirements.txt > requirements.txt

# runtime
FROM python:3.12-slim
WORKDIR /app
RUN adduser --disabled-password appuser
COPY --from=builder /app/requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
USER appuser
HEALTHCHECK CMD curl --fail http://localhost:8000/health || exit 1
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Пояснение: Промт задаёт конкретные требования (multi-stage, кэширование, безопасность), и ИИ выдаёт готовый файл с комментариями. Вы можете сразу скопировать его в проект.

2. Генерация docker-compose для локальной разработки

Задача: Поднять PostgreSQL, Redis и приложение с hot-reload за одну команду.

Промт:

Создай docker-compose.yml для локальной разработки. Сервисы:
- app: сборка из текущей директории, порт 8000, монтирование volumes для hot-reload, зависит от db и redis
- db: postgres:16, переменные окружения из .env, volume для данных
- redis: redis:7-alpine
- adminer: для управления БД, порт 8080
Все сервисы в одной сети. Добавь комментарии.

Пример результата:

version: '3.9'
services:
  app:
    build: .
    ports:
      - "8000:8000"
    volumes:
      - .:/app
    depends_on:
      - db
      - redis
    env_file: .env
  db:
    image: postgres:16
    env_file: .env
    volumes:
      - postgres_data:/var/lib/postgresql/data
  redis:
    image: redis:7-alpine
  adminer:
    image: adminer
    ports:
      - "8080:8080"
volumes:
  postgres_data:

Пояснение: Промт чётко перечисляет сервисы и их связи, ИИ собирает корректный compose-файл. Обратите внимание на depends_on и volume для данных — это часто забывают.

Совет Всегда указывайте версию образа (например, postgres:16, а не postgres:latest). Это избавит от неожиданных обновлений и проблем совместимости.

Продвинутый уровень: Kubernetes и CI/CD

3. Создание Deployment и Service для приложения

Задача: Развернуть приложение в Kubernetes с liveness/readiness probe и ресурсными лимитами.

Промт:

Напиши манифесты Kubernetes для приложения myapp:1.0.0. Нужны Deployment (3 реплики) и Service (ClusterIP, порт 80 -> 8000). Добавь:
- livenessProbe и readinessProbe на /health
- resources: requests cpu 100m, memory 128Mi; limits cpu 500m, memory 256Mi
- env из ConfigMap и Secret
- стратегию rollingUpdate
Поясни, зачем каждый блок.

Пример результата (фрагмент):

apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp
spec:
  replicas: 3
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  selector:
    matchLabels:
      app: myapp
  template:
    metadata:
      labels:
        app: myapp
    spec:
      containers:
      - name: myapp
        image: myapp:1.0.0
        ports:
        - containerPort: 8000
        livenessProbe:
          httpGet:
            path: /health
            port: 8000
          initialDelaySeconds: 10
        readinessProbe:
          httpGet:
            path: /health
            port: 8000
          initialDelaySeconds: 5
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 500m
            memory: 256Mi
        envFrom:
        - configMapRef:
            name: myapp-config
        - secretRef:
            name: myapp-secret

Пояснение: Промт включает все критичные параметры: пробы, ресурсы, стратегию обновления. ИИ не забудет про maxUnavailable: 0, чтобы избежать простоя.

4. Отладка падающего пода: анализ логов и событий

Задача: Под подом в статусе CrashLoopBackOff, нужно понять причину.

Промт:

Мой под в Kubernetes падает с ошибкой CrashLoopBackOff. Вот вывод kubectl describe pod myapp-abcde и последние 50 строк логов:
[вставьте вывод]
Проанализируй и предложи шаги исправления. Укажи, какие ещё команды выполнить для диагностики.

Пример результата (ответ ИИ):

  • В логах: Error: Cannot find module '/app/index.js' — вероятно, неверный command или workingDir.
  • В describe: Liveness probe failed: connection refused — приложение не стартует.
  • Рекомендация: проверьте, что workingDir в Dockerfile соответствует пути к файлу, и увеличьте initialDelaySeconds для livenessProbe.

Пояснение: ИИ выступает в роли второго пилота: он интерпретирует вывод команд и даёт конкретные действия. Это экономит часы гугления.

5. Генерация пайплайна GitHub Actions для сборки и деплоя

Задача: Настроить CI/CD: тесты, сборка Docker-образа, пуш в registry и деплой в Kubernetes.

Промт:

Создай .github/workflows/deploy.yml для Python-проекта. Триггер — push в main. Шаги:
- запуск тестов (pytest)
- сборка Docker-образа и пуш в GitHub Container Registry (используй secrets.GITHUB_TOKEN)
- деплой в Kubernetes через kubectl set image
Предусмотри кэширование зависимостей pip. Добавь комментарии.

Пример результата (сокращённо):

name: Deploy
on:
  push:
    branches: [main]
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - uses: actions/setup-python@v5
      with:
        python-version: '3.12'
        cache: 'pip'
    - run: pip install -r requirements.txt
    - run: pytest
    - name: Build and push Docker image
      uses: docker/build-push-action@v5
      with:
        push: true
        tags: ghcr.io/${{ github.repository }}:latest
    - name: Deploy to Kubernetes
      run: |
        kubectl set image deployment/myapp myapp=ghcr.io/${{ github.repository }}:latest

Пояснение: Промт описывает последовательность шагов и ключевые экшены. ИИ подставляет правильные версии и синтаксис. Останется только добавить секреты в настройках репозитория.

Главное Чем конкретнее вы опишете требования (инструменты, версии, ограничения), тем меньше правок придётся вносить в сгенерированный код.

Экспертный уровень: Helm, Terraform и мониторинг

6. Создание Helm-чарта с параметризацией

Задача: Упаковать приложение в Helm-чарт с возможностью настройки реплик, образа и ресурсов через values.yaml.

Промт:

Сгенерируй структуру Helm-чарта для приложения myapp. Включи:
- Chart.yaml
- values.yaml с параметрами: replicaCount, image.repository, image.tag, resources, service.port
- шаблоны deployment.yaml, service.yaml, _helpers.tpl
- используй best practices: labels через helper, проверку значений.
Выведи содержимое всех файлов.

Пример результата (фрагмент values.yaml):

replicaCount: 3
image:
  repository: myapp
  tag: "1.0.0"
  pullPolicy: IfNotPresent
service:
  port: 80
resources:
  requests:
    cpu: 100m
    memory: 128Mi
  limits:
    cpu: 500m
    memory: 256Mi

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

7. Написание Terraform-конфигурации для AWS EKS

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

Промт:

Напиши Terraform-код для создания AWS EKS кластера с managed node group. Требования:
- версия Kubernetes 1.30
- 2 узла типа t3.medium
- включить логирование control plane
- использовать модуль terraform-aws-modules/eks/aws версии 20.0
- output: имя кластера, endpoint, arn группы узлов
Поясни ключевые параметры.

Пример результата (фрагмент):

module "eks" {
  source  = "terraform-aws-modules/eks/aws"
  version = "20.0"

  cluster_name    = "my-cluster"
  cluster_version = "1.30"

  vpc_id     = module.vpc.vpc_id
  subnet_ids = module.vpc.private_subnets

  eks_managed_node_groups = {
    default = {
      min_size     = 1
      max_size     = 3
      desired_size = 2
      instance_types = ["t3.medium"]
    }
  }

  cluster_enabled_log_types = ["api", "audit", "authenticator"]
}

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

8. Настройка мониторинга: Prometheus + Grafana в Kubernetes

Задача: Развернуть стек мониторинга с помощью Helm и настроить дашборд для приложения.

Промт:

Как установить kube-prometheus-stack в Kubernetes через Helm? Напиши команды и минимальные values.yaml для:
- хранения метрик 7 дней
- доступа к Grafana через ingress с basic auth
- сбора метрик с приложения по аннотации prometheus.io/scrape

Пример результата (команды и values):

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install monitoring prometheus-community/kube-prometheus-stack -f values.yaml
# values.yaml
grafana:
  ingress:
    enabled: true
    hosts: [grafana.example.com]
  adminPassword: admin
prometheus:
  prometheusSpec:
    retention: 7d

Пояснение: ИИ выдаёт готовые команды и минимальный конфиг. Обратите внимание на аннотацию для сбора метрик — её нужно добавить в поды приложения.

Совет При работе с Helm-чартами всегда проверяйте values.yaml на соответствие вашей версии Kubernetes. ИИ может предложить параметры, которые устарели или появились только в новой версии.

Как использовать эти промты эффективно

Чтобы ИИ выдавал точные результаты, следуйте трём правилам:

  1. Будьте конкретны. Указывайте версии, инструменты, ограничения. Вместо «напиши Dockerfile» пишите «напиши Dockerfile для Python 3.12 с poetry, multi-stage, без root».
  2. Запрашивайте пояснения. Добавляйте в промт фразу «поясни ключевые параметры» — так вы быстрее разберётесь в незнакомой технологии.
  3. Проверяйте сгенерированное. ИИ может ошибаться в синтаксисе или предлагать устаревшие параметры. Всегда прогоняйте конфиги через линтеры (hadolint для Dockerfile, kubeconform для манифестов, terraform validate).
Главное ИИ не заменяет DevOps-инженера полностью, но берёт на себя рутину: генерацию шаблонов, перевод документации в код, диагностику ошибок. Это позволяет одному разработчику закрывать инфраструктурные задачи, на которые раньше требовалась команда.

Попробуйте эти промты в своём следующем проекте. Начните с простого Dockerfile, затем перейдите к Kubernetes и CI/CD. Со временем вы выработаете собственный стиль общения с ИИ, и он станет вашим надёжным помощником в мире инфраструктуры.

А если хотите глубже освоить DevOps с ИИ — изучите наш курс, где мы разбираем реальные сценарии автоматизации без найма отдельного инженера.

← Все статьи

Комментарии

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

Renewable Energy — возобновляемая энергетика и зелёные технологии: как AI-обучение на Asibiont открывает карьеру в устойчивой энергетике 2026

21 июля 2026

Препарация трансформера: как разобрать нейросеть на части и понять её устройство

13 июля 2026

Управляйте своим временем: практическое руководство по курсу продуктивности и тайм-менеджмента на Asibiont.com

12 июля 2026

Как подготовиться к CCNA за 2 месяца: пошаговый план с AI-тьютором от Asibiont

15 июля 2026

7 промтов для UI/UX дизайна: Figma, компоненты и прототипы в 2026 году

6 июля 2026

Как подключить ASI Biont к ВКонтакте: полный гайд по автоматизации сообщества с помощью AI-агента

24 июня 2026

Наблюдаемость в 2026 году: почему OpenTelemetry, SLO и AIOps — обязательные навыки и как их освоить

22 сентября 2026

Курс по автоматизации бизнеса с ИИ: Преобразите свой бизнес с помощью эффективности на основе ИИ в 2026 году

30 июня 2026

Как приручить дракона: заставляем локальные LLM и VirtualBox работать строго на P-cores в Windows 11

14 июля 2026