Поведение StatefulSet, когда узел умирает / перезапускается и имеет PersistentVolume

Предположим, у меня есть ресурс foo, который представляет собой набор состояний с 3 репликами. Каждый претендует на постоянный объем.

Один из модулей foo (foo-1) умирает, и на его месте запускается новый. Будет ли foo-1 привязан к тому же постоянному тому, что и предыдущий foo-1 до его смерти? Будет ли количество заявок на постоянные тома прежним или расти?

Этого крайнего случая, похоже, нет в документации по StatefulSets.


person FrobberOfBits    schedule 18.06.2018    source источник
comment
Просто перечитайте документы, и я думаю, что это (более или менее четко) определено в kubernetes.io/docs/concepts/workloads/controllers/statefulset/ в разделе стабильного хранилища или?   -  person Michael Hausenblas    schedule 18.06.2018


Ответы (1)


Да, ты можешь. PVC собирается создать диск на GCP и добавить его в качестве вторичного диска к узлу, на котором работает под.

После удаления отдельного модуля K8s воссоздает модуль на том же узле, на котором он работал. Если это невозможно (скажем, узел больше не существует), модуль будет создан на другом узле, а вторичный диск будет перемещен на этот узел.

person suren    schedule 18.06.2018
comment
Имеет ли значение, воссоздан ли контейнер на том же узле? Означает ли этот ответ, что утверждение persistenvolume зависит от узла? Разве это не возможно, что модуль запускается на каком-то другом узле, но все еще привязан к тому же тому? - person FrobberOfBits; 18.06.2018
comment
На самом деле я только что сделал полный тест, и да, вы можете. Итак, но по умолчанию K8s всегда пытался создать модуль на том же узле, где подготовлен PVC (это здорово). Что еще лучше, так это то, что если я оцеплю узел, убью модуль и создам его (в этом случае он будет воссоздан на другом узле), PVC будет перемещаться вместе с ним. - person suren; 18.06.2018
comment
Сделанный. Прошу прощения за это. - person suren; 18.06.2018