Введение
Каждый DevOps-инженер знает: ручной ввод kubectl и terraform apply отнимает часы, а ошибки в YAML могут стоить ночного дежурства. Я тоже прошёл через это, пока не начал использовать AI-ассистентов для генерации и отладки инфраструктурного кода. В этой подборке — 12 проверенных промтов (запросов к AI), которые помогают писать Terraform-манифесты, Helm-чарты, диагностировать падения подов и настраивать автомасштабирование. Все примеры я лично применял в проектах на AWS и GCP. Вы сможете адаптировать их под свой стек.
1. Генерация Terraform для AWS VPC с нуля
Промт: «Сгенерируй Terraform-код для создания VPC в AWS с двумя публичными и двумя приватными подсетями в зонах us-east-1a и us-east-1b. Добавь Internet Gateway, NAT Gateway и таблицы маршрутизации. Используй модульный подход.»
Пример вывода:
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
}
AI сразу добавляет необходимые теги и настройки. Вы экономите 30–40 минут ручного копирования из документации.
2. Написание Helm-чарта для микросервиса
Промт: «Создай Helm-чарт для Python-приложения (FastAPI). Включи Deployment, Service, Ingress с TLS, ConfigMap для переменных окружения и HPA на 2–10 реплик по CPU 70%.»
AI сгенерирует структуру:
my-app/
Chart.yaml
values.yaml
templates/
deployment.yaml
service.yaml
ingress.yaml
configmap.yaml
hpa.yaml
В values.yaml вы найдёте параметры для образа, ресурсов и хоста. Такой чарт готов к helm install без правок.
3. Диагностика падения пода по логам
Промт: «Под в Kubernetes постоянно перезапускается с ошибкой OOMKilled. Вот вывод kubectl describe pod: [вставить текст]. Предложи шаги по исправлению и измени манифест.»
AI проанализирует события и укажет, что нужно увеличить лимиты памяти:
resources:
limits:
memory: "512Mi"
requests:
memory: "256Mi"
Он также предложит добавить livenessProbe с задержкой, чтобы приложение успевало стартовать.
4. Настройка автомасштабирования на основе кастомных метрик
Промт: «Настрой Horizontal Pod Autoscaler в Kubernetes для масштабирования по количеству запросов в секунду (RPS) из Prometheus. Приведи пример манифеста и настройки адаптера Prometheus.»
AI предложит использовать Prometheus Adapter:
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: 100
Плюс инструкция по установке адаптера через Helm.
5. Создание Terraform-модуля для RDS с шифрованием
Промт: «Напиши Terraform-модуль для AWS RDS PostgreSQL 15 с шифрованием хранилища, автоматическими бэкапами и мульти-AZ. Добавь security group, разрешающую доступ только из VPC.»
Пример:
resource "aws_db_instance" "postgres" {
engine = "postgres"
engine_version = "15.3"
instance_class = "db.t3.medium"
allocated_storage = 100
storage_encrypted = true
multi_az = true
backup_retention_period = 7
vpc_security_group_ids = [aws_security_group.rds.id]
}
AI добавит skip_final_snapshot = false и другие best practices.
6. Откат деплоймента в Kubernetes
Промт: «Как откатить Deployment в Kubernetes до предыдущей версии, если новая версия вызвала ошибки? Напиши команды и объясни, как проверить историю ревизий.»
AI ответит:
kubectl rollout history deployment/my-app
kubectl rollout undo deployment/my-app --to-revision=2
kubectl rollout status deployment/my-app
Также подскажет, как автоматизировать откат через CI/CD при провале health-check.
7. Генерация Terraform для EKS-кластера
Промт: «Создай Terraform-код для EKS-кластера с managed node group из 3 инстансов t3.medium, включи логирование control plane и настрой RBAC для доступа разработчиков.»
AI использует модуль terraform-aws-modules/eks/aws:
module "eks" {
source = "terraform-aws-modules/eks/aws"
cluster_name = "my-eks"
cluster_version = "1.28"
vpc_id = module.vpc.vpc_id
subnet_ids = module.vpc.private_subnets
eks_managed_node_groups = {
main = {
desired_size = 3
instance_types = ["t3.medium"]
}
}
enable_irsa = true
}
8. Написание CI/CD пайплайна для Terraform
Промт: «Создай GitHub Actions workflow для Terraform: проверка форматирования, валидация, plan на pull request и apply при мерже в main. Используй удалённое состояние в S3.»
AI сгенерирует YAML с шагами terraform fmt, terraform validate, terraform plan и terraform apply. Добавит блокировку состояния через DynamoDB.
9. Диагностика ошибок Terraform state lock
Промт: «Terraform выдаёт ошибку Error acquiring the state lock. Как исправить?»
AI объяснит, что нужно проверить, не запущен ли другой процесс, и при необходимости снять блокировку:
terraform force-unlock <LOCK_ID>
Предупредит о рисках и покажет, как настроить DynamoDB для блокировок.
10. Настройка NetworkPolicy для изоляции подов
Промт: «Напиши NetworkPolicy в Kubernetes, которая разрешает входящий трафик только от подов с меткой app=frontend к подам app=backend на порт 8080.»
Пример:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: backend-policy
spec:
podSelector:
matchLabels:
app: backend
ingress:
- from:
- podSelector:
matchLabels:
app: frontend
ports:
- protocol: TCP
port: 8080
11. Оптимизация затрат на Kubernetes
Промт: «Проанализируй мой кластер Kubernetes и предложи способы снижения затрат. У меня 10 нод, многие поды используют запросы CPU 0.1 и память 128Mi, но реальное потребление ниже.»
AI предложит включить Vertical Pod Autoscaler в режиме рекомендаций, пересмотреть requests/limits и использовать Spot-инстансы для некритичных нагрузок. Также порекомендует инструменты вроде Kubecost.
12. Создание Terraform для мониторинга с Prometheus и Grafana
Промт: «Напиши Terraform-код для развёртывания Prometheus и Grafana в Kubernetes через Helm. Настрой сбор метрик с аннотациями и дашборд для отслеживания latency.»
AI использует провайдер Helm:
resource "helm_release" "prometheus" {
name = "prometheus"
repository = "https://prometheus-community.github.io/helm-charts"
chart = "kube-prometheus-stack"
namespace = "monitoring"
create_namespace = true
values = [file("values.yaml")]
}
В values.yaml можно указать настройки Grafana и алертов.
Заключение
Эти промты превращают AI в надёжного помощника, который ускоряет рутинные задачи в Kubernetes и Terraform. Главное — проверяйте сгенерированный код и адаптируйте под свои нужды. Начните с одного-двух промтов, интегрируйте их в ежедневную работу, и вы заметите, как освободится время для более важных задач. Делитесь своими находками в комментариях!
Комментарии