如何在 Kubernetes 上实现 Postgres 备份?

Alv*_*123 5 postgresql docker kubernetes

在 Kubernetes 上备份 Postgres 的最佳方法是什么?

我的第一个猜测是创建一个支持复制的主从架构。进行初始 pg_basebackup,然后获取 WAL 日志。一个月一次,我会用 cron 安排另一个 pg_basebackup,但是容器化环境不喜欢 cron 守护进程(没有可用的 systemd)。如何安排基础备份?

Edu*_*llo 10

最好的方法是使用 Kubernetes Cronjob资源:

您可以使用 CronJob 按基于时间的计划运行作业。这些自动化作业就像 Linux 或 UNIX 系统上的 Cron 任务一样运行。

Cron 作业对于创建定期和重复任务非常有用,例如运行备份或发送电子邮件。

您基本上需要创建一个自定义 Linux 映像以在容器作业中运行。该图像需要一个 Postgres 客户端(因此您可以使用psql,pg_dumppg_basebackup)连接到您的数据库;以及可以配置为Secret 的凭据。

您可能想要将备份上传到外部存储,以便您可以安装和使用awscliAWS S3、gsutilGoogle Cloud Storage 等...

这里有一些参考: