🟡 Средний · 2 очк. Kubernetes
Когда использовать StatefulSet вместо Deployment?
A Всегда
B Для stateful-приложений с постоянными именами и хранилищем (БД, Kafka)
C Для веб-серверов
D StatefulSet устарел
Объяснение вопроса

Deployment подходит для stateless-нагрузки (API, воркеры): поды взаимозаменяемы, порядок не важен. StatefulSet - для stateful-приложений с постоянной идентичностью и хранилищем (БД, очереди).

StatefulSet даёт

  • Стабильные имена подов: pod-0, pod-1 (не случайные суффиксы)
  • Стабильные сетевые идентификаторы (Headless Service)
  • Постоянные тома: каждый под при пересоздании получает тот же PVC
  • Упорядоченное развёртывание и масштабирование (по умолчанию)
# Deployment - поды: app-7d8f9-xk2lm, app-7d8f9-m9p4n ...
# StatefulSet - поды: postgres-0, postgres-1, postgres-2

Используйте StatefulSet для PostgreSQL, Redis Cluster, Kafka, Elasticsearch и других приложений, где важен порядок и привязка к диску.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.