Продвинутый
В чем разница между Deployment и StatefulSet?
Deployment:
Управляет Stateless (без состояния) приложениями (веб-серверы, REST API). Поды взаимозаменяемы, их имена случайны (app-5f8g9), они могут умирать и подниматься на любых узлах.
StatefulSet:
Управляет Stateful (с состоянием) приложениями (Базы данных, Kafka, Redis).
- Поды получают строгие порядковые имена (
db-0,db-1). - Гарантируется строгий порядок запуска и удаления.
- Каждому Поду жестко привязывается его личный диск (Persistent Volume). Если
db-0умрет и переедет на другой сервер, K8s переподключит к нему его старый диск с данными.