Я подхожу к объемам и передовым методам k8s и заметил, что при чтении документации кажется, что вам всегда нужно использовать ресурс StatefulSet, если вы хотите реализовать постоянство в своем кластере:
StatefulSet - это объект API рабочей нагрузки, используемый для управления приложениями с отслеживанием состояния.
Я реализовал несколько руководств, в некоторых из них используется StatefulSet, в других - нет.
Фактически, скажем, я хочу сохранить некоторые данные, у меня могут быть свои модули без сохранения состояния (даже серверные модули MySql!), В которых я использую PersistentVolumeClaim, который сохраняет состояние. Если я остановлюсь и перезапущу кластер, я могу вернуться в состояние из тома без необходимости в StatefulSet.
Я прилагаю здесь пример репозитория Github, в котором есть приложение с отслеживанием состояния с MySql и вообще без StatefulSet: https://github.com/shri-kanth/kuberenetes-demo-manifests
Итак, мне действительно нужно использовать ресурс StatefulSet для баз данных в k8s? Или есть какие-то конкретные случаи, когда это может быть необходимая практика?