广告

Postgres+Kubernetes:自管理还是托管服务?

  • 浏览(76)
  • 评论(0)
  • 译者:k8s

如果你正在使用Kubernetes进行新的开发项目、启动应用程序现代化或进行数字化转型,那么你需要一个数据库,Postgres可能就是答案。

Kubernetes为运行应用程序提供了许多好处,包括效率、自动化和基础设施抽象。这些优势推动企业在Kubernetes上标准化应用程序部署。然而,对于Kubernetes是否“准备好”使用数据库,仍然存在问题。

PGO中有一个成熟的Kubernetes operator,还有一个新的选项——使用Kubernetes operator运行Crunchy Bridge。

那么,哪种部署模型适合你呢?这要看情况而定。

Postgres operator:Kubernetes上的自管理Postgres

Kubernetes使其成为一个优秀的应用程序平台的功能还可用于帮助部署高可用数据库并进行扩展,从而在数据库增长时更容易管理硬件。

与operator结合后,Kubernetes可以提供特定于数据库的工具,使你能够统一地扩展节点,这也有助于在数据库增长时管理硬件。Kubernetes的特性,如节点亲和、容忍度和pod拓扑分布约束,允许管理员决定Postgres实例的部署位置。

这些工具结合起来,使数据库工作负载能够从高可用性或特定硬件中受益。围绕这些数据库的这些功能的成熟,以及声明式和GitOps友好工作流的潜力,激发了对PGO v5(Crunchy Data的开源Postgres operator)的极大兴趣。

因此,越来越多的用户采用Kubernetes上的原生数据库。CNCF提供了关于Kubernetes采用的大量数据。其Cloud Native Survey 2020显示,55%的受访者在生产中使用容器中的状态应用程序。

operator和工具(如Helm和Kustomize)都有助于减轻管理负担,但与Kubernetes相关的自动化和编排并不是免费的。

尽管有自动化的好处,但在Kubernetes上原生运行数据库仍然需要你运行数据库,并被描述为“更接近于完全运维选项”。在Kubernetes上运行Kubernetes和应用程序也有相应的管理需求。

在Postgres的上下文中,问题似乎归结为用户是否充分重视Kubernetes的好处以维持增量管理。

完全托管的Postgres

Postgres的完全托管数据库选项如何?

托管服务是部署数据库的一个有吸引力的选项,使托管服务提供商能够为你处理许多数据库管理任务,包括备份、打补丁和扩展。

Kubernetes operator与托管数据库服务的结合提供了维护Kubernetes标准化工作流的能力,同时得益于第三方的实际数据库管理专业知识。通过使用Crunchy Bridge等“云不可知”的托管数据库服务,你可以从拥有数十年运行大型Postgres数据库和数据库即服务经验的工程师那里获得完全托管的Postgres的好处。

对于对维护数据库服务器不感兴趣的用户来说,托管Postgres是一个不错的选择。

你应该怎么做?

决定使用Postgres是一个很好的开始。关于如何最好地部署它,有几个选项。

这样做不是一个非此即彼的决定,而是一个何时何地的问题。与各种规模的企业都倾向于使用混合云的现实类似,Postgres用户通常会根据团队需求和组织标准选择这些部署模型的组合。

选择归结为对给定项目使用哪种模型,而不是对所有应用程序使用哪种模型。

对于内部部署用户或需要更多实际部署的用户,Kubernetes原生Postgres和Postgres operator是一个不错的选择。对于许多项目,如果用例需要“设置然后忘记”Postgres部署,那么使用托管服务可以很好地工作。

每个决定都有权衡,但只要你从“Postgres”开始,就不会偏离正确的道路太远。

原文链接:

https://thenewstack.io/postgres-with-kubernetes-self-managed-or-managed-service/

  • 分享到:
  • icon
  • icon
  • icon
  • icon
箭头