2017-01-23 9 views
0

я развертывается Gitlab моей лазурной kubernetes кластер с упорным хранением, определенным следующим образом:Как работает PersistentVolume с hostPath?

kind: PersistentVolume 
apiVersion: v1 
metadata: 
    name: gitlab-data 
    namespace: gitlab 
spec: 
    capacity: 
    storage: 8Gi 
    accessModes: 
    - ReadWriteMany 
    hostPath: 
    path: "/tmp/gitlab-data" 

Это работало отлично в течение нескольких дней. Вдруг все мои данные, хранящиеся в Gitlab, исчезли, и я не знаю почему. Я предполагал, что hostPath, определенный PersistentVolumen, действительно устойчив, поскольку он сохраняется на узле и каким-то образом реплицируется на все существующие узлы. Но мои данные сейчас потеряны, и я не могу понять, почему. Я просмотрел время безотказной работы каждого узла и не было перезапуска. Я вошел в узлы и проверил путь, и, насколько я вижу, данные исчезли.

Как работают PersistentVolume Mounts в Кубернете? Сохраняются ли данные на стойках постоянными? Как несколько узлов обмениваются данными, если развертывание разделено на несколько узлов? Является hostPath надежным постоянным хранилищем?

ответ

1

hostPath не делит или не копирует данные между узлами, и как только ваш модуль запускается на другом узле, данные будут потеряны. Вы должны рассмотреть возможность использования внешнего хранилища.

Вот связанные цитаты из официальных документов:

HostPath (только одного тестирования узла - локальное хранилище не поддерживается каким-либо образом и не будет работать в кластере с несколькими узлов)

от kubernetes.io/docs/user-guide/persistent-volumes/