10 промтов для Kubernetes: манифесты, Helm и деплой без головной боли

Введение

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-инженер с опытом работы в продакшн-кластерах.

← Все статьи

Комментарии

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

Как подключить сенсорный дисплей FT6206 или XPT2046 к AI-агенту ASI Biont: голосовое управление интерфейсом без программирования

17 июля 2026

Эпоха роботов начинается с забастовки: как рабочие Hyundai остановили завод, требуя защиты от увольнений

17 июля 2026

Освоение делового английского: как обучение на основе ИИ трансформирует ваши профессиональные коммуникативные навыки

17 июля 2026

Solod: Почему Go может стать лучшей заменой C в системном программировании

17 июля 2026

MQTT интеграция с AI-агентом ASI Biont: как подключить Mosquitto или EMQX и управлять IoT через чат

17 июля 2026

AI-автоматизация бизнеса: Как создавать интеллектуальных агентов, которые трансформируют ваши бизнес-процессы

17 июля 2026

The Human-in-the-Loop Is Tired: Как Vibe Coding переосмысливает роль человека в эпоху AGI

17 июля 2026

C# и .NET — Разработка на платформе Microsoft: Создание реальных REST API с помощью ИИ-руководства

17 июля 2026

Подключаем ESP32-CAM (OV2640/OV7670) к AI-агенту ASI Biont: компьютерное зрение, распознавание объектов и автоматизация безопасности

17 июля 2026