Могу ли я использовать существующий постоянный диск GCE в volumeClaimTemplate Kubernetes Statefulset
Я использую Google Container Engine для запуска StatefulSet для набора реплик MongoDB (3 модуля реплик).
Это прекрасно работает с динамической подготовкой постоянного хранилища - то есть новое хранилище подготавливается для каждого модуля при создании набора с сохранением состояния.
Но если я перезапущу StatefulSet, мне кажется, что я не смогу повторно привязать старые постоянные Тома, потому что новое хранилище будет подготовлено снова. Это означает, что данные будут потеряны. В идеале, постоянное хранение должно пережить удаление самого кластера Kubernetes с сохранением данных, готовых к повторному использованию в новом кластере.
Существует ли способ создать постоянные диски GCE и использовать их в требовании постоянного Тома StatefulSet?
[Обновлено 20 Сентября 2017 Года]
Нашел ответ: Это решение (кредит @RahulKrishnan R A)
-
Создайте класс хранения, указав базовый тип диска и зону
-
Создать а PersistentVolume, указывающий класс хранения create выше, и ссылайтесь на постоянный диск, который вы хотите смонтировать
- создайте PersistentVolumeClaim. Важно назвать ПВХ
<pvc template name>-<statefulset name>-<ordinal number>
. (Правильное название-the трюк!) Укажите volumeName как PV, созданный выше, и хранилище класс. - создайте столько PV и ПВХ, сколько у вас есть реплик с помощью правильное название.
- создайте statefulSet с шаблоном PVC.
1 ответ:
Метод 1: Динамический
Вы можете добавить громкость утвержденияшаблона следующим образом в statefulset.файл yaml вместе с определением развертывания
VolumeClaimTemplates:
- метаданные:
название:хранение
Примечания:
volume.beta.kubernetes.io/storage-class: медленно
спецификация:
accessModes: ["ReadWriteOnce"]
ресурсы:
запросы:
хранение: 10GiСоздайте класс хранения storage.файл yaml
Вид: Класс Хранения
апиверсия: storage.k8s.io/v1beta1
метаданные:
имя: slow
провизионер: kubernetes.io/gce-pd
параметры:
тип: pd-standard
зона: Азия-Восток 1-аМетод 2 статический PV:
Https://github.com/rahulkrishnanfs/percona-xtradb-statefulset-cluster-k8s/blob/master/percona.yml
Примечание: persistentVolumeReclaimPolicy: Сохранить Используйте, если вы хотите сохранить объем
Постоянные Тома могут быть подготовлены администратором статически или динамически на основе ресурса StorageClass