写点什么

CloudNativePG:一个面向 Postgres 的新 Kubernetes 操作符

  • 2022-07-29
  • 本文字数:2680 字

    阅读完需:约 9 分钟

CloudNativePG:一个面向Postgres的新Kubernetes操作符

2022 年 4 月 21 日,EDB 发布了CloudNativePG——一个开源的 Kubernetes 操作符,为 Postgres 数据库管理系统管理高可用的主/备集群架构。


CloudNativePG 遵循 Apache 2.0 许可协议,现在归一个新成立的项目贡献者社区拥有和管理。该社区遵循云原生计算基金会(CNCF)的坚实原则和价值观,其中包括开放性、公平性、包容性、技术卓越、“社区高于产品/公司”、内在质量和内在安全。我是该项目初始维护小组的一员。目前,该小组由 EDB 内部提交排名前 6 的项目提交者组成。

CloudNativePG 是对 Postgres 和 Kubernetes 的承诺

我们采用这种开放的、供应商中立的模式,是受我们以往的经验以及我们为 Postgres in Kubernetes 设定的未来愿景所影响。它反映了我们在过去二十年中对 Postgres 社区的直接贡献,以及我们多年来致力于使 CloudNativePG从云原生计算基金会(CNCF)毕业的努力。


目前,CNCF 项目有三个成熟度级别或阶段:沙盒、孵化和毕业。为了进入下一个阶段,直至最终毕业,每个项目都需要证明它可信、可持续、被广泛采用、具有健康的变更率,并且是由来自多个组织的贡献者开发的。


用 AC/DC 的话说,“登顶之路漫漫”。然而,如果 CNCF 技术监督委员会(TOC)给予我们进入沙盒的机会,我们承诺将带领 CloudNativePG 走完全程,也希望有那些同样致力于改善 Postgres in Kubernetes 数据库体验的用户和供应商参与。


我们相信,CNCF 认可的开源操作符将帮助更多的用户在 Kubernetes 中运行 Postgres 数据库工作负载以及它们的客户端应用。这些工作负载将与基础设施的其他组件完美集成,包括监控、告警、日志、追踪、存储、安全和合规。此外,在运行应用程序的 Kubernetes 集群中运行 Postgres 工作负载,可以实现向典型 DevOps 组织的转型。


EDB 是第一家成为Kubernetes认证服务提供商(KCSP)的 Postgres 公司,也作为创始赞助商直接参与了Data on Kubernetes(DoK)社区,以拓展云原生环境中数据工作负载的边界。这不是巧合。

CloudNativePG 的故事

CloudNativePG 最初是在 2019 年 8 月构思的。当时,2ndQuadrant 首席执行官 Simon Riggs(现在在 EDB)要求我领导公司的 Cloud Native/Kubernetes 计划。我的团队在 DevOps 实践方面有长时间的经验。我们关注 Kubernetes 已经有一段时间了。我还记得来自 Zalando 的朋友第一次向我们展示了 Postgres 如何在他们的 Kubernetes 生产环境中运行。那是个令人豁然开朗的时刻!


对我们看来,Kubernetes 1.14(2019 年 4 月)引入本地持久化卷改变了游戏规则,同时为业界带来了更为一致和标准的操作符模式应用方法。我们开始进入探索阶段,以快速失败为原则,在 3 个领域同时进行:获得 KCSP 的地位、操作符原型设计以及在裸机 Kubernetes 上对无共享数据库架构做基准测试。我们对操作符的要求是依赖于轻量级镜像(不可变应用程序容器),完全声明式的,并与 Kubernetes API 服务器紧密集成(这也意味着避免使用外部工具进行故障转移,如我们的 repmgr,或 Patroni,或 Stolon,仅举几例)。


到 2019 年 12 月,我们在各个方面都取得了远超预期的成果——最值得一提的是,裸机上的 Kubernetes 与裸机上的 Linux 性能几乎相同。如果那时失败了,那么我们可能不会做出如此信誓旦旦的承诺(参见当时的这篇博客)。


接下来,我们开始了 BDR 操作符(用于多主复制)的产品化阶段。该操作符已于 2020 年 1 月发布(今年晚些时候将再次发布)。2020 年 2 月,我们开始将该代码重构为一个新产品:Cloud Native Postgres(这是我们的“初始导入”提交)。第一次实现故障转移是又一个令人豁然开朗的时刻,证明我们的 Postgres+Kubernetes 组合在高可用性方面有着前所未有的巨大潜力。


在 2ndQuadrant 于 2020 年 9 月被 EDB 收购后,Cloud Native Postgres 得到了进一步发展,并于 2021 年 2 月发布了第一个稳定版本。此后,该产品被 EDB 和其他大型企业成功部署到生产环境中。事实上,EDB 的数据层BigAnimal就是基于 Cloud Native Postgres。


在 Cloud Native Postgres 的第一年,我们愈加意识到 Kubernetes 生产数据库工作负载采用提速了,并且越来越多的客户要求在他们的标准化基础设施中使用开源解决方案。这两个因素,再加上 EDB 的核心目标是让每个人可以在任何地方运行 Postgres,最终促使我们决定,在 2022 年第二季度将 Cloud Native Postgres 提交到 CNCF 沙盒。


4 月 21 日,我们将 Cloud Native Postgres 改名为 CloudNativePG,将历史提交次数超过 1400 的代码库开源,发布了 1.15.0 版本,并提交给 CNCF。

Postgres + Kubernetes:民享

CloudNativePG 旨在确保每个人都可以着手在他们的所有应用中使用完全开源的 Postgres in Kubernetes 技术栈,获得他们所要求的所有自由。这种模式赋能了学生、开发者和初创企业。这是符合我们 Postgres 愿景的一项巅峰之作。

EDB 为您服务

如果你所在的组织在使用 Postgres in Kubernetes 及 CloudNativePG 时需要专业协助,那么可以利用 EDB 业内领先的 Postgres 和 Kubernetes 专业知识。


EDB 为开源的 CloudNativePG 以及我们新的商业产品“EDB Postgres for Kubernetes”提供商业支持。前者遵照 Community360 故障修复订阅方案,后者基于 EDB Cloud Native Postgres 操作符,遵照标准和企业订阅方案。


EDB Postgres for Kubernetes 提供了经过认证的 OpenShift 4.6+操作符,基于 RedHat UBI 的 Postgres 镜像,对操作符的长期支持,以及需要依据企业计划使用的 EDB Postgres Advanced。

关于这段旅程的思考

这是一个史诗般的时刻,无论是对我还是对这些年来与我共事的值得信赖的梦幻般的团队。


整整 10 年前,我的团队发布了开源项目BARMAN,用于管理 Postgres 数据库的备份和恢复。现在,我又有幸为另一个项目按下了“公开可见”的按钮。创新性的 DevOps 思维,总是把我们推到舒适区之外,不断鼓励我们拒绝内向思维,从社区和数据库部门搜取新的、更好的想法。这正是现如今了不起的 CNCF 生态系统对于我们和 Postgres 的意义。


在 2022 年 KubeCon 欧洲大会前的“Kubernetes 数据日”上,我将在EDB的展位上发表关于Postgres in Kubernetes的演讲。欢迎来和我们聊聊天,找出为项目做贡献的方法。如果你今年没有参加 Kubecon,可以在欧洲中部时间 5 月 17 日星期二下午 3:30 至 5:00 参加EDB Kubecon线上虚拟大会,观看 Postgres 如何在 Kubernetes 集群中运行,包括安装、配置和部署演示。


关于 Kubernetes 和 CNCF 的更多信息,请观看 Honeypot 项目的两集综合纪录片。如果你想了解更多关于 EDB CloudNativePG 的信息,请阅读我们的文档

作者简介

长期以来,Gabriele 一直是一名开源程序员和企业家。他拥有佛罗伦萨大学统计学学位。他通过培育精益 DevOps 文化为 2ndQuadrant 及其成员的成长做出了突出贡献。现在,他是 EDB 云原生计划的负责人。


查看英文原文:CloudNativePG: A New Open Source Kubernetes Operator for Postgres

2022-07-29 10:343222

评论 1 条评论

发布
暂无评论
发现更多内容

main函数你到底知道多少

恒生LIGHT云社区

后端 开发 Java’ main方法

大数据开发之Spark SQL 的 Catalyst介绍

@零度

大数据 spark SQL

Apache 基金会年度报告 | ShardingSphere 代码提交量位列前十

SphereEx

数据库 开源 基金会 ShardingSphere SphereEx

【分布式技术专题】「Zookeeper系列」为大家介绍一下Zookeeper的"开发伴侣"—Curator-Framework(基础篇)

码界西柚

zookeeper curator 1月月更 CuratorFramework

网易云信又双叒受到Gartner关注,看看这次的报告说了什么?

网易云信

Gartner 通信平台 CPaaS

阿里云消息队列 2021 新功能新特性重要里程碑

阿里巴巴云原生

kafka 阿里云 RocketMQ 云原生 消息队列

不会一致性hash算法,劝你简历别写搞过负载均衡

程序员小富

Java 面试 算法 架构设计 一致性算法

极客星球 | MobPush之FCM离线消息解密

MobTech袤博科技

FCM 离线消息

复旦大学陈平博士:网络攻击猖獗,如何应对数据安全与内生安全挑战?

星环科技

网络安全

星环科技AIoT平台让工业制造设备更智能、更耐用

星环科技

数据库审计设备选择哪家好?谁能告知?

行云管家

数据库 服务器 数据库审计

为企业选择合适的CRM系统的技巧

低代码小观

CRM 客户关系管理 CRM系统 客户关系管理系统 企业管理软件

恒源云(GPUSHARE)_CV领域有关【直方图】的论文小记

恒源云

深度学习 CV

【有奖评测】无影云电脑评测征集令,晒出评测赢万元豪礼

阿里云弹性计算

阿里云 无影云电脑 征文活动

12月发布两大特别专区!一图了解龙蜥社区大事件

OpenAnolis小助手

开源 操作系统 运营

今儿新学会一个写日志技能:双缓冲机制

华为云开发者联盟

线程 日志 应用程序 双缓冲区 Web程序

Android技术分享| Android WebRTC 对 AudioRecord 的使用

anyRTC开发者

android 音视频 WebRTC 移动开发 AudioRecord

如何高效上架HarmonyOS原子化服务?这个平台帮你搞定!

HarmonyOS开发者

HarmonyOS

大数据实践:数据指标中心的建设思路

五分钟学大数据

大数据 1月月更

rosdep update遇到ERROR: error loading sources list: The read operation timed out问题

Ayosh

ROS

澳鹏中国智能可配置工作流(Workflow 2.0)全新升级

澳鹏Appen

人工智能 工作流 workflow 数据标注 训练数据

人员流动大,简历管理纷杂怎么办?用低代码可以解决嘛?

优秀

低代码

深度解读企业云上办公利器「无影云电脑」

阿里云弹性计算

阿里云 无影云电脑

MASA Framework - 整体设计思路

MASA技术团队

C# .net 框架 Framework dapr

盘点 2022 云原生实战峰会重磅发布

阿里巴巴云原生

阿里云 开源 容器 云原生

【堡垒机】2022年企业买堡垒机就选行云管家!五大优点看这里!

行云管家

等保 堡垒机 过等保 等保2.0

【数据库】查询优化之子连接优化

恒生LIGHT云社区

数据库 sql SQL子查询 子查询

使用 Visual Studio Code 编写和激活 ABAP 代码

汪子熙

vscode abap 1月月更 vs-code

java开发之SpringBoot实现自动执行代码

@零度

JAVA开发 springboot

【分布式技术专题】「Zookeeper系列」为大家介绍一下 Zookeeper 的"开发伴侣"—Curator-Framework(组件篇)

码界西柚

zookeeper ZooKeeper原理 1月月更 Curator-Framework

有关 TiDB 升级的二三事——教你如何快乐升级

PingCAP

CloudNativePG:一个面向Postgres的新Kubernetes操作符_语言 & 开发_Gabriele Bartolini_InfoQ精选文章