Kubegres 是一个 Kubernetes 操作员,它允许部署一组 PostgreSql Pod,并开箱即用地启用数据复制和故障转移。考虑到使用 Kubernetes 管理 stateful-set 的生命周期和数据复制有多么复杂,它在使用 PostgreSql 时带来了简单性。它创建了一个启用了流式复制的 PostgreSql 服务器集群:它创建了一个主 PostgreSql pod 和一些副本 PostgreSql pod,并将主数据库实时复制到副本 pod。它管理故障转移:如果主 PostgreSql 崩溃,它会自动将副本 PostgreSql 提升为主。它有一个数据备份选项,允许在给定的卷中定期转储 PostgreSql 数据。 Kubegres 与 Kubernetes 的生命周期完全集成,因为它作为用 Go 编写的操作符运行。与其他开源 Postgres 操作符相比,它在代码库方面是极简主义的。它具有在 Kubernetes 上管理 PostgreSql 集群所需的最少但强大的功能。我们的目标是保持这个项目小而简单。如果您想为 Kubegres 做出贡献,请阅读如何贡献页面。 Kubegres 由 Reactive Tech Limited 和 AlexArica 作为首席开发人员开发。 Reactive Tech 为 Kubegres、Kubernetes 和 PostgreSql 提供支持服务。
它是使用 Kubebuilder 版本 3 框架开发的,这是一个使用 CRD 构建 KubernetesAPI 的 SDK。 Kubebuilder 由官方 Kubernetes API Machinery Special Interest Group (SIG) 维护。 PostgresConf 于 2021 年 5 月 25 日举办了一场关于 Kubegres 的网络研讨会。观看录制的视频。