Введение
Kubernetes (k8s) стал стандартом оркестрации контейнеров, но даже опытные инженеры тратят часы на написание манифестов Pod, Service, Ingress или Helm-чартов. Согласно опросу CNCF за 2025 год, 78% респондентов используют Kubernetes в продакшене, но 45% считают управление YAML-файлами основной проблемой. AI-ассистенты (например, ChatGPT, Claude) могут автоматизировать рутину: сгенерировать корректный манифест за секунды, объяснить опции Helm и предложить готовый деплой. В этой подборке — 10 проверенных промтов, которые я использую ежедневно для работы с k8s. Каждый промт сопровождается реальным примером и кодом.
1. Базовый Pod с конфигурацией
Промт: «Сгенерируй YAML-манифест для Pod в Kubernetes с именем nginx-pod, образом nginx:1.25, лимитом памяти 256Mi и CPU 500m, с меткой app: nginx и health check через HTTP GET на порт 80.»
Пример использования:
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.25
resources:
limits:
memory: "256Mi"
cpu: "500m"
livenessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
periodSeconds: 10
Этот промт экономит время на ручном прописывании ресурсов и проб — частая ошибка новичков.
2. Service для доступа к Pod
Промт: «Создай YAML для Kubernetes Service типа ClusterIP с именем my-service, селектором app: web, портом 80, который направляет трафик на контейнерный порт 8080. Добавь аннотацию для Prometheus метрик.»
Пример:
apiVersion: v1
kind: Service
metadata:
name: my-service
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
spec:
selector:
app: web
ports:
- protocol: TCP
port: 80
targetPort: 8080
Prometheus-аннотации — стандарт для мониторинга в продакшене.
3. Ingress с HTTPS и TLS
Промт: «Напиши манифест Ingress для Kubernetes с именем app-ingress, правилом host: example.com, сервисом app-service:80, TLS-секретом tls-secret и аннотацией cert-manager.io/cluster-issuer: letsencrypt-prod.»
Пример:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: app-ingress
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
tls:
- hosts:
- example.com
secretName: tls-secret
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: app-service
port:
number: 80
Это готовый шаблон для HTTPS с Let's Encrypt.
4. Helm-чарт с нуля
Промт: «Создай структуру Helm-чарта для приложения my-app с Deployments, Service, Ingress, значениями image.repository, image.tag, replicaCount, и файлом values.yaml. Добавь шаблон ConfigMap для переменных окружения.»
Пример структуры:
my-app/
├── Chart.yaml
├── values.yaml
├── templates/
│ ├── deployment.yaml
│ ├── service.yaml
│ ├── ingress.yaml
│ └── configmap.yaml
В values.yaml: replicaCount: 3, image.repository: nginx, image.tag: latest. Этот промт генерирует шаблон за минуту.
5. Helm-чарт с зависимостями
Промт: «Добавь в Helm-чарт my-app зависимость от PostgreSQL через bitnami/postgresql, версию 12.x, и настрой values.yaml для параметров PostgreSQL (database, user, password).»
Пример Chart.yaml:
dependencies:
- name: postgresql
version: "12.x"
repository: "https://charts.bitnami.com/bitnami"
Запусти helm dependency update — и PostgreSQL развёрнут.
6. Деплой с Canary-релизом
Промт: «Создай манифест Deployment для Canary-релиза Kubernetes: две реплики приложения v2, образ app:v2, селектор app: my-app, метка version: canary, с 20% трафика через Service с селекторами.»
Пример:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-canary
spec:
replicas: 2
selector:
matchLabels:
app: my-app
version: canary
template:
metadata:
labels:
app: my-app
version: canary
spec:
containers:
- name: app
image: app:v2
Service с селектором app: my-app будет распределять трафик между stable и canary.
7. Horizontal Pod Autoscaler (HPA)
Промт: «Напиши HPA для Deployment my-app: минимальное 1 реплика, максимальное 10, целевая загрузка CPU 70% и память 80%.»
Пример:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: my-app-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: my-app
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 80
HPA автоматически масштабирует приложение под нагрузку.
8. Secret и ConfigMap
Промт: «Создай ConfigMap с ключом APP_MODE=production и Secret с ключом DB_PASSWORD=supersecret, затем подключи их в Pod как переменные окружения.»
Пример ConfigMap:
apiVersion: v1
kind: ConfigMap
metadata:
name: app-config
data:
APP_MODE: production
Пример Secret:
apiVersion: v1
kind: Secret
metadata:
name: app-secret
type: Opaque
data:
DB_PASSWORD: c3VwZXJzZWNyZXQ=
В Pod: envFrom с ConfigMap и Secret.
9. Namespace и ResourceQuota
Промт: «Создай Namespace development с ResourceQuota: лимит 10 Pod, 20Gi памяти, 10 CPU, и LimitRange с минимальными запросами 100m CPU и 128Mi памяти.»
Пример:
apiVersion: v1
kind: ResourceQuota
metadata:
name: dev-quota
namespace: development
spec:
hard:
pods: "10"
requests.memory: "20Gi"
requests.cpu: "10"
LimitRange помогает избежать неэффективного использования ресурсов.
10. Troubleshooting Pod
Промт: «Создай временный Pod для отладки с образом busybox, командой sleep 3600, монтированием volume из PVC my-pvc и переменной окружения DEBUG=true.»
Пример:
apiVersion: v1
kind: Pod
metadata:
name: debug-pod
spec:
containers:
- name: debug
image: busybox
command: ["sleep", "3600"]
env:
- name: DEBUG
value: "true"
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
persistentVolumeClaim:
claimName: my-pvc
Используй kubectl exec -it debug-pod -- sh для диагностики.
Заключение
Эти 10 промтов покрывают 90% ежедневных задач в Kubernetes: от создания Pod до Helm-чартов и автоскейлинга. Сохраните их как шпаргалку — они сэкономят часы на написании YAML. Попробуйте прямо сейчас: скопируйте любой промт в AI-ассистент, адаптируйте под свои параметры (имена, образы, порты) и запустите kubectl apply -f <file>. Для более глубокого изучения рекомендую официальную документацию Kubernetes и Helm.
Автор: практикующий DevOps-инженер с опытом работы в продакшн-кластерах.
Комментарии