你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Azure CLI 在 AKS 上部署高可用性 PostgreSQL 数据库

在本指南中,你将使用 Azure CLI 在 AKS 上部署跨多个 Azure 可用区的高可用性 PostgreSQL 群集。

本文逐步介绍了在 Azure Kubernetes 服务 (AKS) 上设置 PostgreSQL 群集的先决条件,并概述了完整的部署过程和体系结构。

重要

AKS 文档和示例中都提到了开源软件。 AKS 服务级别协议、有限保修和 Azure 支持不涵盖你部署的软件。 将开源技术与 AKS 一起使用时,请查阅相应社区和项目维护者提供的支持选项来制定计划。

例如,Ray GitHub 存储库描述了多个在响应时间、用途和支持级别方面各不相同的平台。

Microsoft 将负责生成我们在 AKS 上部署的开源包。 该责任包括对生成、扫描、签名、验证和修补过程拥有完整的所有权,以及对容器映像中的二进制文件的控制。 如需了解详细信息,请参阅 AKS 漏洞管理AKS 支持范围

先决条件

部署过程

本指南介绍如何:

  • 使用 Azure CLI 创建多区域 AKS 群集。
  • 使用 CNPG operator 部署高可用性 PostgreSQL 群集和数据库。
  • 设置使用 Prometheus 和 Grafana 监视 PostgreSQL。
  • 将示例数据集部署到 PostgreSQL 数据库。
  • 执行 PostgreSQL 和 AKS 群集升级。
  • 模拟群集中断和 PostgreSQL 副本故障转移。
  • 执行 PostgreSQL 数据库的备份和还原。

部署体系结构

此图演示了一个 PostgreSQL 群集设置,其中一个主要副本和两个只读副本由 CloudNativePG (CNPG) operator 管理。 该体系结构提供在 AKS 群集上运行的高可用性 PostgreSQL,此群集可通过跨副本进行故障转移来承受区域中断。

备份存储在 Azure Blob 存储上,这提供了另一种在主副本的流式复制出现问题时恢复数据库的方法。

CNPG 体系结构示意图。

注意

对于需要在数据库级别进行数据分离的应用程序,可以使用 postInitSQL 命令和类似命令添加更多数据库。 目前无法使用 CNPG 运算符以声明方式添加更多数据库。 详细了解 CNPG 运算符。

后续步骤

供稿人

Microsoft 会维护本文。 本系列文章为以下参与者的原创作品:

  • Ken Kilty | 首席 TPM
  • Russell de Pina | 首席 TPM
  • Adrian Joian | 高级客户工程师
  • Jenny Hayes | 高级内容开发人员
  • Carol Smith | 高级内容开发人员
  • Erin Schaffer | 内容开发人员 2
  • Adam Sharif | 客户工程师 2