12 промтов для ChatGPT, с которыми DevOps укрощает кластер: kubectl, Helm и DevSecOps без ночных разборов CrashLoopBackOff

Kubernetes — мощный, но сложный инструмент. Даже опытные DevOps-инженеры тратят часы на написание манифестов, разбор ошибок подов и настройку политик безопасности. ChatGPT (или любой другой LLM) может стать вашим вторым пилотом: он не заменит знание Kubernetes, но ускорит рутину и поможет избежать глупых ошибок. В этой подборке — 12 проверенных промтов, которые я сам использую в работе. Каждый промт — с примером запроса и ожидаемым результатом. Вы сможете адаптировать их под свои задачи и сэкономить время на деплое, отладке и безопасности.

Важно: LLM не всегда даёт идеальный код. Всегда проверяйте сгенерированные манифесты и команды в тестовом кластере. Но даже с этой оговоркой промты ниже экономят мне несколько часов в неделю. Поехали.

1. Генерация Deployment и Service для нового приложения

Промт:

Ты — опытный DevOps-инженер. Напиши манифесты Kubernetes для деплоя приложения: Deployment (3 реплики, образ nginx:1.25, порт 80, ресурсы: requests cpu 100m memory 128Mi, limits cpu 500m memory 256Mi) и Service типа ClusterIP. Добавь liveness и readiness probes на путь /healthz порт 80. Выведи YAML с комментариями.

Ожидаемый результат: Готовый YAML с Deployment и Service, включая пробы. Пример фрагмента:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-app
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.25
        ports:
        - containerPort: 80
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 500m
            memory: 256Mi
        livenessProbe:
          httpGet:
            path: /healthz
            port: 80
          initialDelaySeconds: 5
          periodSeconds: 10
        readinessProbe:
          httpGet:
            path: /healthz
            port: 80
          initialDelaySeconds: 5
          periodSeconds: 10
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  selector:
    app: nginx
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: ClusterIP

Совет: Уточняйте версию образа и ресурсы — LLM может подставить устаревшие теги.

2. Разбор CrashLoopBackOff: почему под падает?

Промт:

Мой под в Kubernetes постоянно перезапускается с ошибкой CrashLoopBackOff. Вот вывод `kubectl describe pod my-pod-xyz` и `kubectl logs my-pod-xyz --previous`. Проанализируй и предложи шаги для устранения. [вставьте вывод]

Ожидаемый результат: Список возможных причин (нехватка памяти, ошибка в конфиге, отсутствие зависимостей) и конкретные команды для диагностики (например, kubectl exec для проверки файлов). LLM часто указывает на типичные проблемы: неправильный command, отсутствующие env-переменные, ошибки в liveness-пробе.

Пример из практики: Однажды под падал из-за того, что livenessProbe проверял /health слишком часто, а приложение не успевало запуститься. ChatGPT подсказал увеличить initialDelaySeconds. Помогло.

3. Настройка Horizontal Pod Autoscaler (HPA)

Промт:

Сгенерируй манифест HPA для Deployment my-app. Минимальное количество реплик — 2, максимальное — 10. Масштабирование по CPU: целевая загрузка 70%. Также добавь аннотации для сбора метрик Prometheus.

Результат: YAML с apiVersion: autoscaling/v2, metrics типа Resource. Пример:

apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
  name: my-app-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: my-app
  minReplicas: 2
  maxReplicas: 10
  metrics:
  - type: Resource
    resource:
      name: cpu
      target:
        type: Utilization
        averageUtilization: 70

Важно: HPA требует установленного metrics-server. Проверьте, что он работает.

4. Создание NetworkPolicy для ограничения трафика

Промт:

Напиши NetworkPolicy, которая разрешает входящий трафик к подам с меткой app=backend только от подов с меткой app=frontend на порт 8080. Весь остальной входящий трафик запрещён. Пространство имён — production.

Результат: Манифест с podSelector, ingress.from и ports. Пример:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: backend-allow-frontend
  namespace: production
spec:
  podSelector:
    matchLabels:
      app: backend
  policyTypes:
  - Ingress
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: frontend
    ports:
    - protocol: TCP
      port: 8080

Совет: NetworkPolicy работает только если в кластере есть CNI с поддержкой политик (Calico, Cilium, Weave Net).

5. Генерация Helm-чарта с нуля

Промт:

Создай структуру Helm-чарта для приложения на Python (Flask). Включи Deployment, Service, Ingress и ConfigMap. Параметризуй образ, тег, реплики и ресурсы через values.yaml. Выведи список файлов и их содержимое.

Результат: LLM выдаст дерево файлов (Chart.yaml, values.yaml, templates/deployment.yaml и т.д.) и их содержимое. Вы сможете скопировать и доработать. Не забудьте проверить helm lint.

Пример: Я использовал этот промт для быстрого старта нового микросервиса — сэкономил около часа на бойлерплейте.

6. Проверка манифеста на уязвимости (DevSecOps)

Промт:

Проанализируй YAML манифеста Kubernetes на предмет типичных уязвимостей: запуск от root, отсутствие readOnlyRootFilesystem, избыточные capabilities, отсутствие securityContext. Предложи исправления. [вставьте YAML]

Ожидаемый результат: Список проблем и рекомендации: добавить securityContext: { runAsNonRoot: true, readOnlyRootFilesystem: true, capabilities: { drop: ["ALL"] } }. LLM может указать на отсутствие allowPrivilegeEscalation: false.

Ссылка: Официальные рекомендации по безопасности — Kubernetes Security Best Practices.

7. Отладка сети: почему сервис недоступен?

Промт:

Сервис в Kubernetes не отвечает на запросы. Под запущен, но при обращении к ClusterIP получаю timeout. Опиши пошаговый план диагностики с командами kubectl. Учти, что NetworkPolicy может блокировать трафик.

Результат: Пошаговый чек-лист: проверить endpoints (kubectl get endpoints), логи пода, DNS (kubectl run -it --rm debug --image=busybox -- nslookup my-service), правила NetworkPolicy. LLM напомнит про kubectl port-forward для локальной проверки.

8. Написание CI/CD пайплайна для деплоя в Kubernetes

Промт:

Напиши пример пайплайна GitHub Actions для сборки Docker-образа, пуша в Docker Hub и деплоя в Kubernetes (используй kubectl apply). Учти, что kubeconfig хранится в секретах GitHub. Добавь шаг с ожиданием успешного деплоя (kubectl rollout status).

Результат: YAML пайплайна с шагами: checkout, docker build/push, kubectl apply, rollout status. LLM может предложить использовать helm upgrade --install.

Важно: Не храните kubeconfig в открытом виде — используйте секреты.

9. Создание CronJob для периодических задач

Промт:

Сгенерируй манифест CronJob, который каждый час запускает контейнер с образом curlimages/curl и выполняет GET-запрос к http://my-service/api/health. Задача должна завершаться не позднее чем через 5 минут, история хранится 3 успешных и 1 неудачный запуск.

Результат: YAML с schedule: "0 * * * *", activeDeadlineSeconds: 300, successfulJobsHistoryLimit: 3, failedJobsHistoryLimit: 1.

10. Настройка ResourceQuota и LimitRange для namespace

Промт:

Создай ResourceQuota для namespace production, ограничивающую суммарные запросы CPU — 4 ядра, память — 8Gi. Также создай LimitRange с дефолтными лимитами для контейнеров: cpu 500m, memory 512Mi. Выведи два манифеста.

Результат: Два YAML-файла. ResourceQuota контролирует суммарное потребление, LimitRange задаёт дефолты для подов без явных лимитов.

Совет: Без LimitRange поды могут не иметь лимитов, что приведёт к перерасходу ресурсов.

11. Генерация StatefulSet для базы данных

Промт:

Напиши StatefulSet для PostgreSQL 15 с тремя репликами. Используй volumeClaimTemplates для хранения данных (5Gi). Добавь headless Service для доступа к подам. Опиши, как настроить репликацию.

Результат: StatefulSet с serviceName, volumeClaimTemplates, headless Service. LLM может дать базовые инструкции по настройке потоковой репликации (через env-переменные или конфиг).

Важно: StatefulSet требует тщательной настройки, особенно для баз данных. Проверяйте сгенерированное в тестовой среде.

12. Аудит безопасности кластера с помощью промта

Промт:

Ты — аудитор Kubernetes. Перечисли 10 наиболее критичных настроек безопасности, которые часто упускают в production-кластерах. Для каждой дай команду kubectl для проверки или пример манифеста, который исправляет проблему.

Ожидаемый результат: Список: включён ли RBAC, отключён ли анонимный доступ к API, используются ли NetworkPolicy, сканируются ли образы на уязвимости, настроен ли PodSecurityPolicy (или Pod Security Standards), ограничены ли права сервисных аккаунтов и т.д. С конкретными командами, например kubectl auth can-i --list.

Ссылка: CIS Kubernetes Benchmark — авторитетный источник по безопасности.


Эти 12 промтов покрывают основные задачи DevOps при работе с Kubernetes. Они не заменят глубокого понимания системы, но помогут быстрее писать манифесты, находить ошибки и закрывать дыры в безопасности. Главное — всегда проверяйте результат в тестовом кластере и не давайте LLM слепо управлять production. Используйте промты как ускоритель, а не как замену инженерному мышлению.

Попробуйте внедрить хотя бы пару из них в свой ежедневный workflow — и вы заметите, как освобождается время для более интересных задач. А если у вас есть свои проверенные промты для Kubernetes — делитесь в комментариях.

← Все статьи

Комментарии

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

ChatGPT вместо ночного дежурства: 10 промтов для Docker, Kubernetes и Terraform, которые я использую в проде

17 октября 2026

12 промтов для Terraform и GitHub Actions: как вести инфраструктуру через диалог с ChatGPT и не сидеть на дежурствах

17 октября 2026

Лидерство в области ИИ и науки о данных — Директор по ИИ: как превратить соответствие требованиям EU AI Act 2026 в работающую систему управления

17 октября 2026

12 DevSecOps-промтов для аудита Docker, Kubernetes и OWASP Top 10: находим уязвимости до релиза

17 октября 2026

Промты для SEO в 2026: как заставить ChatGPT работать за младшего аналитика — семантика, аудит, контент

17 октября 2026

Docker и Kubernetes без боли: 12 промтов, которые переводят DevOps с языка документации на человеческий

17 октября 2026

Промты, которые верстают, рефакторят и деплоят: как отдать веб-разработку ИИ, не потеряв контроль

17 октября 2026

TypeScript-промты, которые реально ускоряют full-stack: Next.js, Prisma и tRPC в одном наборе

17 октября 2026

Docker, Kubernetes и Terraform под диктовку: 12 промтов, с которых я начинаю любой инфраструктурный проект

17 октября 2026