Автоматичното мащабиране, което уби базата данни
Нашият Kubernetes клъстер се мащабираше перфектно. Прекалено перфектно.
Инцидентът:
- Скок на трафика в 10:00
- HPA мащабира pods: 5 → 50
- Всеки pod: 20 връзки към базата данни
- Общо връзки: 100 → 1,000
- PostgreSQL max_connections: 200
- 💥 Грешки "too many connections"
Каскадата:
- Новите pods не могат да се свържат с базата данни
- Проверките за здраве се провалят
- Pods се рестартират
- Буря от връзки при рестарт
- Цял клъстер в хаос
Решението:
- PgBouncer като connection pooler
- 1,000 app връзки → 100 връзки към базата данни
- HPA max replicas ограничени до устойчиво ниво
- Readiness probe чака за DB връзка
Урок: Автоматичното мащабиране не знае за лимитите надолу по веригата. Вие трябва да ги налагате.