在 Podman 中备份持久容器数据的最佳实践

问题描述 投票:0回答:1

我正在使用 Vaultwarden 来存储密码和其他敏感数据。 Vaultwarden 在容器中运行,其中 SQLite 数据库托管在映射到主机的卷上。配置存储在 Quadlet 文件中。

显然,这些数据对我来说很重要,所以我想进行备份。我正在寻找 Duplicati 来完成这项工作。我更喜欢让 Duplicati 也在容器中运行。

我应该如何向 Duplicati 展示该卷?我应该创建一个 Pod 并将两个容器放在同一个 Pod 中,还是应该创建两个单独的容器并将卷映射两次?这种情况下的最佳实践是什么?

containers backup podman persistent-volumes
1个回答
0
投票

这取决于您的用例,

Case [1]:
如果您需要简化管理更低延迟低网络开销,那么您可以在 Pod 内使用共享卷。

Case [2]:
如果您更喜欢灵活性隔离独立缩放,那么请选择安装相同体积的单独容器。

但请确保将 备份容器 对该卷的访问限制为:只读

Kubernetes Pod 配置示例:

apiVersion: v1
kind: Pod
metadata:
  name: xyz
spec:
  containers:
  - name: vaultwarden
    image: xyz
    volumeMounts:
    - mountPath: /opt/vw-data
      name: vaultwarden-data
      readOnly: false
  - name: backup-container
    image: duplicati
    volumeMounts:
    - mountPath: /opt/vw-data
      name: vaultwarden-data
      readOnly: true
  volumes:
  - name: vaultwarden-data
    persistentVolumeClaim:
      claimName: my-pvc

并且,如果您使用单独的 docker 容器,请将

:ro
添加到容器内安装的卷的路径末尾:

docker run -d --name backup-container -v /opt/vw-data:/path/in/container:ro backupvw
© www.soinside.com 2019 - 2024. All rights reserved.