Резервное копирование через Longhorn / перехваты моментальных снимков

#kubernetes #rancher #longhorn

#kubernetes #ранчер #longhorn

Вопрос:

Как мне настроить Longhorn backup, чтобы он выполнял некоторые сценарии bash в модуле до и после создания снимка / резервной копии?

Что-то похожее на хуки для резервного копирования Velero.

   annotations:
    backup.velero.io/backup-volumes: data
    pre.hook.backup.velero.io/command: "['/usr/bin/mysql', '-e', '"flush tables with read lock;"']"
    pre.hook.backup.velero.io/container: mysql
    post.hook.backup.velero.io/command: "['/usr/bin/mysql', '-e', '"unlock tables;"']"
    post.hook.backup.velero.io/container: mysql
 

Ответ №1:

По-видимому, на данный момент это невозможно, согласно проблеме longhorn github.

Аналогичное поведение можно организовать с помощью моментального снимка тома

 kubectl exec mypod-id -- app_freeze
kubectl apply -f volumesnapshot.yaml
kubectl exec mypod-id -- app_thaw
 

Где volumesnapshot.yaml :

 apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshot
metadata:
  name: my-longhorn-snapshot
spec:
  volumeSnapshotClassName: longhorn
  source:
    persistentVolumeClaimName: my-longhorn-pvc
 

Смотрите пример для базы данных IRIS: https://community.intersystems.com/post/amazon-eks-and-iris-high-availability-and-backup