Привет Хабр!
В Kubernetes StatefulSet
— это реплицированные группы Pod’ов, аналогичные ReplicaSet’ам.
Каждая реплика получает постоянное имя хоста с уникальным индексом (например, database-0
, database-1
и т. д.).
Каждая реплика создается в порядке от самого низкого до самого высокого индекса и создание блокируется до тех пор, пока под с предыдущим индексом не станет работоспособным и доступным. Это относится и к масштабированию.
При удалении StatefulSet
каждый из управляемых подов реплики также удаляется в порядке убывания. Это также относится к уменьшению количества реплик.
Оказывается, этот простой набор требований значительно упрощает развертывание приложений для хранения данных в Kubernetes. Например, сочетание стабильных имен хостов (например, database-0
) и ограничений порядка означает, что все реплики, кроме первой, могут надежно ссылаться на database-0
для целей обнаружения и установления кворума репликации.
Сегодня мы развернем реплицированный кластер MongoDB с StatefulSet
.