kubernetes statefulsets: видит ли узел тот же постоянный том после перезапуска на том же узле - PullRequest
0 голосов
/ 05 мая 2018

Я читаю локальный дизайн хранилища Кубернетов. У него есть секция для distributed database, где БД реплицирует данные самостоятельно.

Мой вопрос заключается в том, что если какой-либо процесс из db завершится, он будет перезапущен на том же узле / машине? Я думаю, что это да.

Если да, будет ли у него доступ к своему local storage, который у него был до сбоя?

Я прочитал более старую статью о stateful sets, когда она была в бета-версии. В то время статья не поощряла использование локального хранилища.

Я новичок в Kubernetes, поэтому, пожалуйста, ответьте на этот вопрос с дополнительной информацией, которая необходима для понимания.

1 Ответ

0 голосов
/ 05 мая 2018

В дизайне локального хранилища, как вы можете прочитать здесь , он используется с наборами с сохранением состояния. Так, например, если вы хотите три экземпляра mongodb с именем mongodb, то k8s создаст для вас три модуля:

  • MongoDB-1
  • MongoDB-2
  • MongoDB-3

В случае сбоя mongodb-2 k8s перезапустит его с тем же локальным хранилищем или постоянным томом. Если вы увеличите количество реплик, то k8s создаст новые постоянные тома через ваш persistentVolumeClaimTemplate. Если вы сократите его до двух, эти вновь созданные тома не будут удалены и будут использоваться, если вы вернетесь к предыдущему количеству реплик.

Если ваш постоянный том привязан к определенному узлу, тогда k8s узнает, как создать ваш модуль на этом узле.

Вы можете прочитать о примере состояния кластера mongodb здесь: https://kubernetes.io/blog/2017/01/running-mongodb-on-kubernetes-with-statefulsets

Или вы можете посмотреть отличный разговор здесь (с демонстрациями): https://www.youtube.com/watch?v=m8anzXcP-J8&feature=youtu.be

Использование наборов состояний и локального хранилища действительно хорошо объяснено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...