Kubernetes – PostgreSQL的持久存储

我们目前有一个在裸机上运行的双节点Kubernetes环境(没有GCE),现在我们希望在这之上build立一个PostgreSQL实例。

我们的计划是使用volumeMounts中的volumeMounts选项将PostgreSQL数据目录的数据卷映射到节点。 然而,这将是一个问题,因为如果Pod已经停止,Kubernetes将在其他节点上随机重新启动它。 因此,我们无法保证它将在重新启动时使用正确的数据目录。

那么在Kubernetes集群中维护一致和持久的PostgreSQL数据目录的最佳方法是什么?

  • 一个解决scheme是部署HA postgresql,例如https://github.com/sorintlab/stolon

  • 另一种方法是将一些networking存储连接到所有节点(NFS,glusterFS),并在pod中使用volumeMount