В Развертывание вы указываете PersistentVolumeClaim , который является общим для всех реплик модуля. Другими словами, общий объем.
Резервное хранилище, очевидно, должно иметь ReadWriteMany или ReadOnlyMany accessMode, если у вас более одного модуля реплики.
StatefulSet вы указываете volumeClaimTemplates , чтобы каждый модуль реплики получал уникальный PersistentVolumeClaim , связанный с ним.
Другими словами, нет общего тома.
StatefulSet полезен для запуска объектов в кластере, например, кластер Hadoop, кластер MySQL, где каждый узел имеет свое собственное хранилище.
Так что в вашем случае иметь большую изоляцию (без общих томов) лучше иметь решение на основе statefulset.
Если вы используете решение на основе развертывания (перезапустите модуль, обновите его версию докера или удалите его), ваша БД будет снова инициализирована.
Относительно захвата:
В общем, запуск CATCHUP_COMPLETE=true
не рекомендуется в док-контейнерах, так как они по умолчанию имеют ограниченные ресурсы (если вы действительно хотите это сделать, обязательно предоставьте им доступ к большему количеству ресурсов: процессор, память и дисковое пространство).