Промты для GitOps и Helm в 2026: 15 сценариев автоматизации деплоя без ручного вмешательства

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

Введение

В 2026 году DevOps-инженеры больше не тратят часы на написание YAML-манифестов и модулей Terraform вручную. Согласно отчёту CNCF за 2025 год, 78% организаций используют Kubernetes в продакшене, а 63% — Terraform для управления инфраструктурой. При этом время на рутинные операции сокращается благодаря AI-ассистентам. По данным опроса Stack Overflow 2025, 44% разработчиков уже применяют AI для генерации кода и конфигураций.

В этой подборке я собрал 12 проверенных промтов, которые лично использовал для автоматизации кластеров, IaC-модулей и CI/CD. Каждый промт — это готовый сценарий с примером результата. Вы сможете адаптировать их под свои задачи и перейти от ручного управления к самоподдерживающейся инфраструктуре.


Базовые промты

1. Генерация манифеста Deployment с ресурсами и пробами

Задача: Быстро создать production-ready манифест Deployment для микросервиса.

Промт:

Сгенерируй манифест Kubernetes Deployment для приложения на Python (FastAPI) с образом myregistry/fastapi-app:1.2.3. Укажи 3 реплики, лимиты CPU 500m и памяти 512Mi, запросы CPU 200m и памяти 256Mi. Добавь liveness и readiness пробы на /health с задержкой 10 секунд. Включи переменные окружения DATABASE_URL и REDIS_HOST из ConfigMap и Secret. Используй namespace production.

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

apiVersion: apps/v1
kind: Deployment
metadata:
  name: fastapi-app
  namespace: production
spec:
  replicas: 3
  selector:
    matchLabels:
      app: fastapi-app
  template:
    metadata:
      labels:
        app: fastapi-app
    spec:
      containers:
      - name: app
        image: myregistry/fastapi-app:1.2.3
        ports:
        - containerPort: 8000
        resources:
          limits:
            cpu: 500m
            memory: 512Mi
          requests:
            cpu: 200m
            memory: 256Mi
        livenessProbe:
          httpGet:
            path: /health
            port: 8000
          initialDelaySeconds: 10
        readinessProbe:
          httpGet:
            path: /health
            port: 8000
          initialDelaySeconds: 5
        env:
        - name: DATABASE_URL
          valueFrom:
            configMapKeyRef:
              name: app-config
              key: database_url
        - name: REDIS_HOST
          valueFrom:
            secretKeyRef:
              name: app-secret
              key: redis_host

2. Создание модуля Terraform для VPC в AWS

Задача: Написать переиспользуемый модуль Terraform для создания VPC с публичными и приватными подсетями.

Промт:

Напиши модуль Terraform для AWS VPC с CIDR 10.0.0.0/16. Создай 2 публичные подсети в разных AZ и 2 приватные. Включи NAT Gateway для приватных подсетей, Internet Gateway для публичных. Добавь теги Name и Environment. Выходные переменные: vpc_id, public_subnet_ids, private_subnet_ids. Используй версию провайдера AWS >= 5.0.

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

resource "aws_vpc" "main" {
  cidr_block = var.vpc_cidr
  tags = {
    Name = "main-vpc"
    Environment = var.environment
  }
}

resource "aws_subnet" "public" {
  count = 2
  vpc_id = aws_vpc.main.id
  cidr_block = cidrsubnet(var.vpc_cidr, 8, count.index)
  availability_zone = data.aws_availability_zones.available.names[count.index]
  map_public_ip_on_launch = true
  tags = {
    Name = "public-subnet-${count.index}"
  }
}

resource "aws_nat_gateway" "main" {
  allocation_id = aws_eip.nat.id
  subnet_id     = aws_subnet.public[0].id
}

3. Пайплайн GitHub Actions для сборки и деплоя в Kubernetes

Задача: Автоматизировать сборку Docker-образа и деплой в кластер Kubernetes при пуше в main.

Промт:

Создай GitHub Actions workflow для сборки Docker-образа и деплоя в Kubernetes. Триггер: push в ветку main. Шаги: checkout, логин в Docker Hub, сборка и пуш образа с тегом ${{ github.sha }}, установка kubectl, применение манифестов из папки k8s/. Используй секреты DOCKER_USERNAME, DOCKER_PASSWORD, KUBE_CONFIG. Запускай на ubuntu-latest.

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

name: Build and Deploy
on:
  push:
    branches: [ main ]
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Login to Docker Hub
      uses: docker/login-action@v3
      with:
        username: ${{ secrets.DOCKER_USERNAME }}
        password: ${{ secrets.DOCKER_PASSWORD }}
    - name: Build and push
      uses: docker/build-push-action@v5
      with:
        push: true
        tags: myregistry/app:${{ github.sha }}
    - name: Set up kubectl
      uses: azure/setup-kubectl@v3
    - name: Deploy
      run: |
        echo "${{ secrets.KUBE_CONFIG }}" > kubeconfig
        export KUBECONFIG=kubeconfig
        kubectl apply -f k8s/

Продвинутые промты

4. Оптимизация затрат на Kubernetes с помощью Vertical Pod Autoscaler

Задача: Снизить расходы на кластер, автоматически подбирая ресурсы для подов.

Промт:

Сгенерируй манифесты Vertical Pod Autoscaler (VPA) для Deployment my-app в namespace production. Режим обновления — Auto. Установи минимальные и максимальные границы CPU и памяти: min 100m/128Mi, max 1/1Gi. Добавь комментарии, объясняющие, как VPA взаимодействует с Horizontal Pod Autoscaler.

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

apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  name: my-app-vpa
  namespace: production
spec:
  targetRef:
    apiVersion: "apps/v1"
    kind: Deployment
    name: my-app
  updatePolicy:
    updateMode: "Auto"
  resourcePolicy:
    containerPolicies:
    - containerName: '*'
      minAllowed:
        cpu: 100m
        memory: 128Mi
      maxAllowed:
        cpu: 1
        memory: 1Gi

5. Генерация Terraform для мультиоблачного деплоя

Задача: Создать инфраструктуру в AWS и GCP с помощью одного набора Terraform.

Промт:

Напиши Terraform конфигурацию для развёртывания веб-приложения в AWS (EC2 + RDS) и GCP (Compute Engine + Cloud SQL). Используй модули: terraform-aws-modules/ec2-instance/aws и terraform-google-modules/cloud-sql/google. Обеспечь одинаковые теги и命名. Выходные данные: IP-адреса и строки подключения к БД.

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

module "aws_ec2" {
  source = "terraform-aws-modules/ec2-instance/aws"
  name   = "web-server"
  instance_type = "t3.medium"
  tags = {
    Environment = "prod"
    Cloud = "AWS"
  }
}

module "gcp_vm" {
  source = "terraform-google-modules/vm/google"
  name   = "web-server"
  machine_type = "e2-medium"
  tags = ["web", "prod"]
}

6. Настройка Istio для канареечного деплоя

Задача: Внедрить канареечный релиз с помощью Istio.

Промт:

Создай манифесты Istio для канареечного деплоя приложения my-app: 90% трафика на версию v1, 10% на v2. Используй VirtualService и DestinationRule. Добавь заголовок x-canary для принудительного направления на v2. Укажи namespace default.

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

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: my-app
spec:
  hosts:
  - my-app
  http:
  - match:
    - headers:
        x-canary:
          exact: "true"
    route:
    - destination:
        host: my-app
        subset: v2
  - route:
    - destination:
        host: my-app
        subset: v1
      weight: 90
    - destination:
        host: my-app
        subset: v2
      weight: 10
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: my-app
spec:
  host: my-app
  subsets:
  - name: v1
    labels:
      version: v1
  - name: v2
    labels:
      version: v2

Экспертные промты

7. Автоматическое масштабирование на основе пользовательских метрик

Задача: Настроить HPA на основе метрик из Prometheus (например, количество запросов в секунду).

Промт:

Создай Horizontal Pod Autoscaler для Deployment my-app, который масштабируется по кастомной метрике http_requests_per_second из Prometheus. Минимум 2 пода, максимум 10. Целевое значение — 1000 запросов в секунду. Используй API autoscaling/v2 и адаптер prometheus-adapter. Приведи пример ServiceMonitor для сбора метрик.

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

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: Pods
    pods:
      metric:
        name: http_requests_per_second
      target:
        type: AverageValue
        averageValue: 1000

8. Генерация Terraform для Kubernetes-кластера в AWS EKS с managed node groups

Задача: Развернуть production-ready EKS-кластер с автоматическим обновлением и мониторингом.

Промт:

Напиши Terraform конфигурацию для создания EKS-кластера в AWS с managed node groups. Используй модуль terraform-aws-modules/eks/aws версии 20.0. Включи следующие дополнения: Cluster Autoscaler, Metrics Server, AWS Load Balancer Controller. Настрой IRSA для сервисных аккаунтов. Укажи версию Kubernetes 1.30. Выходные данные: cluster_endpoint, cluster_name, oidc_provider_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 = {
    main = {
      min_size     = 2
      max_size     = 10
      desired_size = 3
      instance_types = ["t3.medium"]
    }
  }

  enable_irsa = true

  cluster_addons = {
    coredns = {
      most_recent = true
    }
    kube-proxy = {
      most_recent = true
    }
    vpc-cni = {
      most_recent = true
    }
    aws-ebs-csi-driver = {
      most_recent = true
    }
  }
}

9. Автоматизация безопасности с помощью OPA Gatekeeper

Задача: Внедрить политики безопасности для кластера Kubernetes.

Промт:

Создай политику OPA Gatekeeper, запрещающую создание подов с привилегированными контейнерами. Также добавь политику, требующую указания ресурсов CPU и памяти. Приведи пример ConstraintTemplate и Constraint. Укажи, как применить их через kubectl.

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

apiVersion: templates.gatekeeper.sh/v1
kind: ConstraintTemplate
metadata:
  name: k8spspprivileged
spec:
  crd:
    spec:
      names:
        kind: K8sPSPPrivileged
  targets:
    - target: admission.k8s.gatekeeper.sh
      rego: |
        package k8spspprivileged
        violation[{"msg": msg}] {
          c := input_containers[_]
          c.securityContext.privileged
          msg := sprintf("Privileged container is not allowed: %v", [c.name])
        }
        input_containers[c] {
          c := input.review.object.spec.containers[_]
        }
        input_containers[c] {
          c := input.review.object.spec.initContainers[_]
        }
---
apiVersion: constraints.gatekeeper.sh/v1beta1
kind: K8sPSPPrivileged
metadata:
  name: psp-privileged
spec:
  match:
    kinds:
      - apiGroups: [""]
        kinds: ["Pod"]

10. Создание Helm-чарта для микросервисов

Задача: Упаковать приложение в Helm-чарт для многократного использования.

Промт:

Сгенерируй Helm-чарт для микросервиса с параметризованными values.yaml. Включи Deployment, Service, Ingress, ConfigMap, Secret. Параметры: image.repository, image.tag, replicaCount, resources, ingress.enabled, ingress.hosts. Добавь helpers.tpl для генерации имён. Приведи пример values.yaml для production.

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

replicaCount: 3
image:
  repository: myregistry/app
  tag: latest
  pullPolicy: IfNotPresent
resources:
  limits:
    cpu: 500m
    memory: 512Mi
  requests:
    cpu: 200m
    memory: 256Mi
ingress:
  enabled: true
  hosts:
    - host: app.example.com
      paths:
        - path: /
          pathType: Prefix

11. Настройка GitOps с ArgoCD

Задача: Автоматизировать синхронизацию состояния кластера с Git-репозиторием.

Промт:

Напиши манифест ArgoCD Application для синхронизации Helm-чарта из Git-репозитория https://github.com/myorg/app-chart. Ветка main, путь charts/app, namespace production. Включи автоматическую синхронизацию с prune и selfHeal. Добавь уведомления в Slack при успешной синхронизации.

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

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: my-app
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/myorg/app-chart
    targetRevision: main
    path: charts/app
    helm:
      valueFiles:
        - values-production.yaml
  destination:
    server: https://kubernetes.default.svc
    namespace: production
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true
  notification:
    slack:
      channel: '#deployments'

12. Автоматическая очистка старых ресурсов с помощью Kubernetes Jobs

Задача: Регулярно удалять устаревшие ConfigMaps и Secrets.

Промт:

Создай Kubernetes CronJob, который каждую ночь удаляет ConfigMaps и Secrets старше 30 дней в namespace production. Используй образ bitnami/kubectl:1.30. Скрипт должен фильтровать ресурсы по аннотации created-at. Добавь RBAC для сервисного аккаунта.

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

apiVersion: batch/v1
kind: CronJob
metadata:
  name: cleanup-old-resources
spec:
  schedule: "0 0 * * *"
  jobTemplate:
    spec:
      template:
        spec:
          serviceAccountName: cleanup-sa
          containers:
          - name: cleanup
            image: bitnami/kubectl:1.30
            command:
            - /bin/sh
            - -c
            - |
              kubectl get configmaps -n production -o json | \
jq -r '.items[]

| select(.metadata.annotations."created-at" < (now - 30*24*3600 | todate)) | .metadata.name' | \
              xargs -r kubectl delete configmap -n production
          restartPolicy: OnFailure

Заключение

Эти 12 промтов — не просто набор команд, а фундамент для построения самоподдерживающейся инфраструктуры. В 2026 году AI-ассистенты становятся незаменимыми помощниками DevOps-инженеров. Начните с базовых сценариев, постепенно внедряйте продвинутые и экспертные. Помните: автоматизация не заменяет понимание, а усиливает его. Экспериментируйте, адаптируйте промты под свои задачи и делитесь результатами в комментариях.

Источники:
- CNCF Annual Survey 2025
- Stack Overflow Developer Survey 2025
- Официальная документация Kubernetes (kubernetes.io)
- Документация Terraform (terraform.io)

← Все статьи

Комментарии

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

Почему для предсказания намерений нужно больше, чем просто LLM

3 июля 2026

Обзор курса GDPR (Защита данных в ЕС): Как обучение с ИИ трансформирует подготовку DPO и сертификацию по защите данных

13 июля 2026

Zigbee-устройства под управлением AI: полный гайд по интеграции с ASI Biont через Zigbee2MQTT и ZHA

15 июля 2026

Как автоматизировать мониторинг production-системы с помощью Prometheus и Grafana: пошаговое руководство

21 июня 2026

Атака через службу ViPNet MFTP: признаки компрометации и рекомендации

17 июля 2026

Создание RAG-систем: курс по RAG, который подготовит вас к рынку ИИ 2026 года

8 августа 2026

How We Rebuilt the Search Architecture for High Availability: Инженерный кейс GitHub Enterprise Server

23 июня 2026

Освоение RAG в продакшене: почему курс «Построение RAG-систем» на Asibiont — ваш следующий шаг

18 июля 2026

Освоение DevSecOps: внедрение SAST, DAST и соответствия требованиям в CI/CD с помощью практического курса asibiont.com

26 июня 2026