1

如何配置 Longhorn 备份,以便在拍摄快照/备份之前和之后在 pod 中执行一些 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
4

1 回答 1

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

于 2021-01-08T15:57:20.467 回答