使用Kubernetes运算符扩展PostgreSQL

使用容器运行应用程序并使用Kubernetes协调其生命周期,已经改变了团队管理大规模部署的方式。 容器通常用于执行短暂的任务,例如发送消息,或运行不需要存储信息的应用程序(例如Web服务器)。 可以创建一个新容器,该容器不知道以前发生的任何工作(换句话说,是“无状态的”),这对于大多数应用程序来说是完全可以的。

数据库系统的重要部分是保持状态:进程在运行时可以修改磁盘上数据的状态,并且即使进程终止也可以保持该状态。 换句话说,当您使用数据库系统时,无论系统是否在运行,都必须始终将数据存储在磁盘上。

从表面上看,这与“无服务器”世界是矛盾的:即使在进程终止后,数据库保持状态也很重要。 但是,如果应用程序能够为Kubernetes提供有关如何在Pod生命周期之外维持状态的更多知识,那么数据库不仅可以利用Kubernetes的编排功能,而且团队突然之间可以运行自己的数据库,即服务平台。

Kubernetes运算符和PostgreSQL

Kubernetes Operator是一种应用程序,可让开发人员向Kubernetes提供有关如何管理有状态应用程序的其他上下文。 操作员可以使开发人员提供更多特定于应用程序的知识,以正确维护有状态应用程序的整个生命周期,并确保关键资产(例如数据)保持安全和可访问性。

使用像流行的开源PostgreSQL数据库这样的数据库,操作员可以帮助您执行以下操作:

  • 设置 :分配将永久存储数据的磁盘空间
  • 扩展 :安全地创建始终保持最新状态的数据库副本(或副本)
  • 高可用性 :即使节点不可用,也可以确保应用程序始终可以读写数据库
  • 用户管理 :允许用户访问并记住环境中特定数据库的权限

Crunchy Data的开源Crunchy PostgreSQL Operator是许多生产环境中使用的PostgreSQL Operator 。 它提供了一个简单而强大的命令行界面 ,使用户可以在任何启用了Kubernetes的平台上部署自己的数据库即服务系统

例如,使用用于配置数据库的pgo create命令,可以建立具有完全灾难恢复支持以及pgMonitor支持的数据库监视sidecar的分布式高可用性PostgreSQL集群。 换句话说,代替复杂的多步骤过程或必须编写自己的脚本,您可以通过单个命令创建生产所需的PostgreSQL系统类型。

如果您要管理几个数据库集群,这似乎有些过头,但是如果您需要支持成百上千个不同的集群,则Operator的价值会显着提高。 拥有一套标准化的命令,能够灵活地为不同的工作负载部署集群,既减轻了管理负担,又为团队如何开发工作负载并将其部署到生产环境提供了更多选择。

开源即服务

尽管许多大型云提供商以“服务”形式提供各种开放源代码平台,但其效果是将人们锁定在特定的云基础架构中。 使用Kubernetes和像Crunchy PostgreSQL Operator这样的开放源代码运营商,用户可以选择要运行其有状态服务的云环境(拥有Kubelet,将可以运行!),同时可以通过标准化界面进行管理。


Jonathan Katz将于3月7日至10日在加利福尼亚州帕萨迪纳市举行的第17届年度南加州Linux博览会( SCaLE 17x上规模展示Kubernetes的Operating PostgreSQL

翻译自: https://opensource.com/article/19/2/scaling-postgresql-kubernetes-operators

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值