写点什么

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:343279

评论 1 条评论

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

由 Mybatis 源码畅谈软件设计(二):MappedStatement 和 SqlSource

京东科技开发者

10个案例告诉你mysql不使用子查询的原因

威哥爱编程

MySQL sql

AI智能体的开发流程

北京木奇移动技术有限公司

AI大模型 AI智能体 软件外包公司

秒验简介与下载说明

MobTech袤博科技

第79期 | GPTSecurity周报

云起无垠

AIGC GPT

区块链智能合约的开发流程

北京木奇移动技术有限公司

智能合约 区块链技术 软件外包公司

具身智能赛道很火,值得ALL in吗?

机器人头条

机器人 特斯拉 大模型 人形机器人 具身智能

华瑞指数云受邀参加航空航天信息技术交流会,以信创存储推动行业高质量发展

科技热闻

荣耀x腾讯云AI代码助手 重构智能时代开发模式

极客天地

记录一次「OSS上传文件的前置处理机制」实例剖析

京东科技开发者

鸿蒙(HarmonyOS)原生AI能力之文本识别

猫林老师

鸿蒙 HarmonyOS 鸿蒙应用开发 鸿蒙原生应用开发 HarmonyOS NEXT

财务规划的成功战略之一:建立数据驱动型决策

智达方通

企业管理 全面预算管理 财务规划 智能技术

AI 智能体(AI Agent)的应用

北京木奇移动技术有限公司

AI应用 AI智能体 软件外包公司

杭州站来袭-向心力|中外AI应用和出海实战分享沙龙

Zilliz

非结构化数据 AI应用 GenAI AI商业化

淘宝天猫API接口详解:商品详情与关键词搜索商品的实用指南及代码示例

代码忍者

淘宝API接口 淘宝评论API

合合信息在视觉内容安全领域的创新与应用 - 应对伪造挑战的前沿进展

申公豹

人工智能 安全

荣耀 | 7thonline第七在线荣获托比网与易观之星两项大奖

第七在线

推荐一款免费的数据库SQL审核,性能诊断与优化平台

威哥爱编程

sql SQL工具

开源轻量级IM框架MobileIMSDK的鸿蒙NEXT客户端库已发布

JackJiang

即时通讯;IM;网络编程 MobileIMSDK-鸿蒙端

人工智能与云计算的结合:如何释放数据的无限潜力?

天津汇柏科技有限公司

云计算 AI 人工智能

周亚辉的朋友圈,揭开潜藏在AI冰山下的秘密

新消费日报

数据筑底,构建管理会计数据基础

用友智能财务

数据 会计

webGL开发框架的技术难点

北京木奇移动技术有限公司

软件外包公司 数字孪生开发 webgl开发

【新年专刊】新的一年设定2025目标--催化型画布

ShineScrum

个人目标

算力荒缓解,自主化智算还有必要吗?

脑极体

AI

重塑 Java 开发体验:SoFlu-JavaAI 产品体验官招募!100%有礼!

飞算JavaAI开发助手

开发工具 Java. 有奖评测

音乐NFT系统的技术难点

北京木奇移动技术有限公司

区块链技术开发 软件外包公司 音乐NFT

由 Mybatis 源码畅谈软件设计(一):序

京东科技开发者

网络安全养生秘籍-轻松完成等保测评流程

行云管家

网络安全 等保 等级保护 等保测评

当Kmesh遇上Ambient Mesh

华为云原生团队

云计算 容器 云原生

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