Терраформ без слёз: как заставить LLM работать вашим DevOps-инженером в Docker, Kubernetes и CI/CD

DevOps-инженер сегодня живёт в трёх реальностях одновременно: Dockerfile, манифесты Kubernetes и YAML пайплайнов. Каждая из них требует точного синтаксиса, знания подводных камней и терпения при отладке. Опечатка в resources.limits — и под падает по OOM. Забытый depends_on — и Terraform уничтожает базу данных. Именно здесь LLM превращается из игрушки в полноценного напарника: не потому что «пишет код», а потому что снимает рутину шаблонов, диагностики и ревью.

Ниже — 12 проверенных промтов, разбитых по уровню сложности: базовые (генерация артефактов), продвинутые (диагностика и оптимизация) и экспертные (архитектура и безопасность). Для каждого — задача, сам промт и пример результата. Все примеры синтаксиса соответствуют официальной документации Docker, Kubernetes и HashiCorp Terraform.

Базовые промты: генерация артефактов

1. Dockerfile с многоступенчатой сборкой

Задача: получить минимальный образ без ручного перебора баз.

Промт:

Ты senior DevOps. Сгенерируй многоступенчатый Dockerfile для Go-приложения (main.go в корне). Требования: базовый образ alpine, non-root пользователь, финальный образ < 20 МБ, кэширование слоёв go mod. Добавь комментарии к каждому слою.

Результат: LLM выдаёт FROM golang:1.22-alpine AS builder, COPY go.mod go.sum ./, RUN go mod download, затем FROM alpine:3.20, USER app, ENTRYPOINT. Такой промт экономит 10–15 минут на каждом новом сервисе.

2. Манифест Deployment + Service

Задача: быстро получить рабочий манифест с probes и ресурсами.

Промт:

Сгенерируй Kubernetes Deployment и Service для образа registry.local/api:1.4.0, 3 реплики, порт 8080. Обязательно: livenessProbe и readinessProbe на /healthz, resources.requests/limits, securityContext с runAsNonRoot: true. Формат — один YAML с разделителем ---.

Результат: готовый YAML с readinessProbe.httpGet.path: /healthz и securityContext.runAsNonRoot: true. Инженеру остаётся только поправить namespace.

3. Terraform-модуль для S3

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

Промт:

Напиши Terraform-модуль (main.tf, variables.tf, outputs.tf) для AWS S3: версионирование включено, server_side_encryption_configuration с aws:kms, block_public_acls = true, lifecycle rule на переход в GLACIER через 90 дней. Провайдер aws версии ~> 5.0.

Результат: модуль с aws_s3_bucket_versioning, aws_s3_bucket_server_side_encryption_configuration и aws_s3_bucket_public_access_block. Проверяется через terraform validate.

4. GitHub Actions пайплайн

Задача: CI/CD без копипасты из чужих репозиториев.

Промт:

Создай .github/workflows/ci.yml: триггер на push в main и pull_request. Шаги: checkout, setup-go 1.22, go test ./..., сборка Docker-образа, пуш в ghcr.io с тегом ${{ github.sha }}. Используй кэш Go-модулей. Секреты — через secrets.GITHUB_TOKEN.

Результат: рабочий workflow с actions/setup-go@v5 и cache: true. Это снимает самую частую рутину — вспоминать точный синтаксис permissions и env.

Продвинутые промты: диагностика и оптимизация

5. Диагностика падения пода

Задача: понять, почему под в CrashLoopBackOff.

Промт:

Под в CrashLoopBackOff. Вот вывод: kubectl describe pod api-7d9f — Events: Back-off restarting failed container; Last State: Terminated, Reason: OOMKilled, Exit Code: 137. Вот фрагмент манифеста: resources.limits.memory: 256Mi. Предложи 3 гипотезы по приоритету и что проверить командой.

Результат: LLM объясняет, что Exit Code 137 = SIGKILL, вероятная причина — OOMKilled, и советует kubectl top pod и kubectl logs --previous. На практике это экономит полчаса гугления.

6. Оптимизация Docker-образа

Задача: уменьшить размер и ускорить сборку.

Промт:

Вот Dockerfile (вставь текст). Проанализируй: какие слои инвалидируют кэш, можно ли уменьшить размер, есть ли секреты в образе. Дай исправленный вариант с пояснениями по каждому изменению.

Результат: LLM находит COPY . . до npm install, переставляет слои, предлагает .dockerignore и multi-stage. Размер образа нередко падает в разы.

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

Задача: поймать разрушительные изменения до apply.

Промт:

Вот вывод terraform plan (вставь). Найди ресурсы с действием destroy или replace. Для каждого объясни риск и предложи безопасную альтернативу (например, create_before_destroy или lifecycle prevent_destroy).

Результат: LLM помечает aws_db_instance с forces replacement и советует lifecycle { prevent_destroy = true }. Это защита от классической катастрофы «Terraform снёс прод».

8. Отладка пайплайна CI

Задача: разобрать упавший job.

Промт:

Job упал на шаге docker build с ошибкой: failed to solve: process "/bin/sh -c npm ci" did not complete successfully: exit code: 1. Вот лог (вставь). Найди причину и предложи фикс.

Результат: LLM замечает отсутствие package-lock.json и советует закоммитить его или заменить на npm install. Точная диагностика без чтения 500 строк лога.

Экспертные промты: архитектура и безопасность

9. Аудит безопасности Kubernetes

Задача: найти небезопасные настройки.

Промт:

Проверь манифест (вставь) по CIS Kubernetes Benchmark: privileged, hostNetwork, runAsRoot, отсутствие readOnlyRootFilesystem, отсутствие NetworkPolicy. Выведи таблицу: проблема

| риск | исправление.

Результат: таблица с приоритетами. Например: privileged: true → критично → убрать и добавить allowPrivilegeEscalation: false.

10. Проектирование Terraform-структуры

Задача: разложить инфраструктуру на окружения.

Промт:

Спроектируй структуру Terraform-репозитория для 3 окружений (dev/stage/prod) с модулями vpc, eks, rds. Предложи layout директорий, способ хранения state (S3 + DynamoDB lock) и стратегию workspaces vs отдельные директории. Обоснуй выбор.

Результат: layout envs/dev, envs/prod, modules/vpc, бэкенд backend "s3" с dynamodb_table. LLM объясняет, почему workspaces хуже для изоляции прод-среды.

11. Политика NetworkPolicy

Задача: ограничить трафик между сервисами.

Промт:

Напиши NetworkPolicy: разрешить ingress в поды app=api только от подов app=frontend на порт 8080, запретить остальное. Namespace: production. Покажи default-deny и разрешающее правило.

Результат: две политики — default-deny с podSelector: {} и разрешающая с from: podSelector.matchLabels.app: frontend. Синтаксис соответствует официальной документации.

12. Секреты и переменные в CI/CD

Задача: не закоммитить секреты.

Промт:

Проверь workflow (вставь) на утечки секретов: echo переменных, передача secrets в build-args, логирование env. Предложи безопасный паттерн через OIDC для AWS и маскирование в GitHub Actions.

Результат: LLM находит echo ${{ secrets.AWS_KEY }} и заменяет на aws-actions/configure-aws-credentials с role-to-assume. Это реальный паттерн из документации GitHub.

Как встроить промты в рабочий процесс

Уровень Что снимает Экономия времени
Базовые шаблоны Dockerfile, YAML, Terraform 10–20 мин на артефакт
Продвинутые диагностика, ревью, оптимизация 30–60 мин на инцидент
Экспертные архитектура, безопасность часы на проектирование

Ключевое правило: LLM не заменяет terraform plan и kubectl apply --dry-run=server. Всегда прогоняйте результат через валидаторы — terraform validate, kubeconform, hadolint. Промт — это ускоритель черновика, а не замена ревью.

Эти 12 промтов закрывают 80% повседневной рутины: от генерации первого Dockerfile до аудита безопасности перед релизом. Начните с трёх базовых, добавьте диагностику падений — и вы заметите, что время на «скучную» инфраструктуру сокращается, а на архитектурные решения — растёт. Инфраструктура без слёз начинается с правильно сформулированного вопроса.

← Все статьи

Комментарии

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

Почему Cambridge International A-Level Business (9609) — ваш следующий карьерный шаг в 2026 году

27 июля 2026

Как курс «Маркетинг и SMM» на asibiont.com меняет правила игры: 40% выше завершение и 35% больше офферов — данные 2026 года

23 июня 2026

Teensy 4.x + AI-агент ASI Biont: real-time сбор данных и управление через чат без написания кода

7 июля 2026

Что CRM делает, что ИИ не может? Разбор свежей статьи Salesforce

13 июля 2026

Как подключить AI-агента ASI Biont к Salesforce: автоматизация CRM без единой строки кода

29 июня 2026

Визуализация данных с AI: Как подключить Raspberry Pi с HDMI к ASI Biont и забыть про Grafana

13 июля 2026

Легаси-код больше не страшен: 15 промтов для рефакторинга и оптимизации

22 августа 2026

От ручных AWS-скриптов к автоматизации с ИИ: как AI-агент ASI Biont интегрируется с S3, Lambda и EC2

25 июля 2026

Как ИИ-агент ASI Biont интегрируется с HTTP-сервисами 1С для автоматизации отчетов, синхронизации запасов и обновления справочников — без единой строки кода

11 июля 2026