# HorizontalPodAutoscaler (HPA)

← [Раздел](README.md) · [Главная](../README.md)

**Уровень:** **Middle**

## Цель

Глубоко понять **HorizontalPodAutoscaler (HPA)**: назначение, архитектура, практика, типичные ошибки.

## Предварительно

- [11 Middle Komponenty](README.md)
- Предыдущие страницы раздела

## Время

**1–3 часа**

---

## Обзор

Автомасштабирование Pod по CPU, memory или custom metrics (Prometheus adapter).

## Детали

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

Требует **metrics-server** и **requests** на Pod.

## Типичные ошибки

- Диагностика без `kubectl describe` и Events
- Игнорирование RBAC при «permission denied»
- Путаница spec (desired) и status (actual)

## Связь с уровнями

| Уровень | Фокус |
|---------|-------|
| Junior | Что это и базовые команды |
| Middle | Интеграция с autoscaling, GitOps, observability |
| Senior | Эксплуатация control plane, SRE, DR |

---

## Самопроверка

1. Объясните HorizontalPodAutoscaler (HPA) за 30 секунд.
2. Где компонент в архитектуре?
3. Команда диагностики?

---

## Дальше

→ [PodDisruptionBudget (PDB)](pod-disruption-budget.md)
