最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

评论 1 条评论

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

DAPP持币生息项目系统开发|步骤逻辑|源码搭建

l8l259l3365

探索拼多多API:打造个性化购物体验与互动营销工具

Noah

探索图像检索:从理论到实战的应用

快乐非自愿限量之名

人工智能 机器学习 深度学习 大数据 图像

跨境远程控制软件分享,为何放弃向日葵?

小喵子

远程 远程软件 远程桌面办公

Linux线程API使用与分析

不在线第一只蜗牛

Linux 运维 服务器

DBeaverUE for Mac v23.3.1旗舰激活版下载

iMac小白

ThreadPool 模式设计与流程演示

KaiwuDB

数据库

点击查看 Milvus 社区十大关键词(上)

Zilliz

开源社区 Milvus 向量数据库 云原生向量数据库

大模型应用开发:为产品创建一个AI客服/智能助手

快乐非自愿限量之名

大数据 大模型 大数据人工智能

云安全中的常见云漏洞和威胁,有哪些防范措施

德迅云安全杨德俊

云安全 云监控 漏洞检测

2024年前端开发趋势的 6 个框架

伤感汤姆布利柏

听GPT 讲Rust Cargo源代码(2)

fliter

如何领导规模化敏捷变革?

敏捷开发

敏捷开发 敏捷开发管理 safe 企业转型 规模化敏捷

NFTScan | 01.22~01.28 NFT 市场热点汇总

NFT Research

NFT NFT\ NFTScan

Golang并发控制方式有几种?

EquatorCoco

Go 大数据 开发语言

软件测试学习笔记丨http/https/tcp握手和回收/mock相关解释

测试人

软件测试

听GPT 讲Rust Cargo源代码(1)

fliter

【快递鸟】智能化之路:即时零售的崛起与线下商超的转型

快递鸟

同城配送

AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案

阿里巴巴云原生

阿里云 云原生 Stable Diffusion Stable

企业借助聚道云软件连接器,轻松实现员工福利管理优化!

聚道云软件连接器

案例分享

5天!软件开发考试该如何准备?

统信软件

MSE Nacos 配置变更审计平台使用指南

阿里巴巴云原生

阿里云 微服务 云原生 nacos

TDengine 签约海博思创,助力储能运维平台数据管理

TDengine

tdengine 时序数据库

Dynamic Wallpaper for Mac(精美的动态壁纸)v17.1免激活版

iMac小白

数据访问效率百倍提升 HashData助力中国石油乘“数”而行

酷克数据HashData

软件测试学习笔记丨Linux安装下载

测试人

软件测试

Vue中虚拟Dom技术,你学会了吗?

伤感汤姆布利柏

Gas Hero Pets NFT 概览与数据分析

Footprint Analytics

区块链 NFT

当代码遇上玄学……

ZA技术社区

代码 bug 程序员‘ 玄学

2024年人工智能产业十大发展趋势

EquatorCoco

人工智能 AI AI技术

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