AlloyDB Omni 提供了一个编排平台,用于在非 Kubernetes 环境中部署和管理 AlloyDB Omni,例如在 Red Hat Enterprise Linux (RHEL) 和使用 Red Hat Package Manager (RPM) 软件包的兼容系统上。RPM Orchestrator 部署选项将类似云的灵活性和自动化功能扩展到本地和虚拟机 (VM) 基础架构。
借助使用 RPM 编排器的 AlloyDB Omni,企业可以使用标准 RPM 软件包安装、配置和管理 AlloyDB Omni 实例。此方法支持在虚拟机基础架构方面有大量投资,并围绕自动化工具(例如 Ansible)建立了运营实践的组织。RPM 编排器部署选项直接在 Linux 虚拟机或裸金属服务器上运行,无需 Docker 等容器化层或 Kubernetes 等编排系统。
如需开始使用此部署选项,请使用注册表单申请访问权限。
使用场景
RPM Orchestrator 部署选项支持以下用例:
| 使用场景 | 说明 |
|---|---|
| 拥有虚拟机基础架构的企业 | 支持不以 Kubernetes 为标准的公司,或具有应用依赖项、更倾向于标准虚拟机或裸机部署的容器化环境。 |
| 简化的运营方式 | 使用 Ansible 等熟悉的工具自动执行数据库部署、配置和生命周期管理。 |
| 高可用性 (HA) 和灾难恢复 (DR) | 设置具有自动故障切换和恢复机制的弹性 AlloyDB Omni 集群。 |
| 混合环境 | 确保本地数据中心和云虚拟机之间的数据库操作一致。 |
| 旧版系统集成 | 与专为非容器化环境设计的现有应用和系统集成。 |
优势
RPM 编排器部署选项的优势包括:
- 快速部署:自动执行从预配到验证的整个生命周期,从而显著减少设置 AlloyDB Omni 集群的时间和复杂性。
- 无缝集成:与标准 Linux 软件包管理 (RPM) 和热门自动化框架(例如 Ansible)原生集成,使团队能够使用现有技能和工具集成。
- 一致的体验:提供与 AlloyDB Omni Kubernetes 操作器相当的管理和操作用户体验和功能集,从而在不同的部署模型之间提供一致性。
- 企业级高可用性 (HA) 和灾难恢复 (DR):支持灵活的高可用性和灾难恢复配置,以满足业务连续性需求。
- 强大的安全性:有助于实施多方面的安全策略,包括用户管理、使用证书 (SSL) 的网络安全以及与系统(例如 Microsoft Active Directory)集成。
- 集中管理:使用 AlloyDB Omni 服务提供统一的控制平面,用于管理虚拟机上的 AlloyDB Omni。
- 可观测性和审核:支持与外部日志记录服务器(例如 Elastic Stack)集成,使用 rsyslog 进行集中式日志管理、监控和审核。
- 数据保护:包括用于简化备份和恢复配置及策略的功能。
- 连接池:支持部署 PgBouncer,以优化数据库连接并提升性能。
- 舰队管理:让您能够大规模管理多个 AlloyDB Omni 集群。
架构
AlloyDB Omni 定义了可提供灵活性的组件层次结构。这种灵活性有助于最大限度地提高数据可用性,并优化查询性能和吞吐量。通过这种方法,您可以监控 AlloyDB Omni 部署,并调整其规模和大小以适应工作负载。
层次结构中的顶级资源是 AlloyDB Omni 部署,其中包含一个主要集群和一个或多个次要集群。AlloyDB Omni 集群具有一个或多个实例,这些实例是用户连接到的计算资源的抽象。集群包含一个主实例(读写)和一个或多个可选读取池实例(只读)。每个实例都有自己的访问端点。您可以选择设置具有单个节点的主实例(用于独立部署)或多个节点(用于高可用性部署)。所有节点都使用软件包部署了 AlloyDB Omni 和其他相关组件。
主实例包含一个活跃(读写)节点,旨在处理事务性工作负载。对于基本测试、实验和开发之外的数据库集群,请设置具有额外备用节点的高可用性。为避免数据丢失并在主节点发生故障时实现零恢复点目标 (RPO),请配置备用节点的同步复制模式。
弹性高可用性
弹性高可用性架构在不同的可用区中部署一个活跃主节点和多个备用节点,无需专用负载均衡器节点。
相反,keepalived 服务直接在数据库节点上运行,以管理浮动虚拟 IP 地址,该地址会公开活跃主节点上的读写端点。
下图展示了裸金属或虚拟机环境中的弹性高可用性部署架构:

图 1. AlloyDB Omni 弹性高可用性部署架构
可扩缩的高可用性
可伸缩的高可用性架构会在不同的可用区中部署一个活跃主节点和多个备用节点,并与专用 HAProxy 负载均衡器节点配对。这些负载均衡器节点会公开读写和只读端点,并路由客户端流量。
下图展示了裸机或虚拟机环境中 AlloyDB Omni 可伸缩高可用性部署的分类:

图 2. AlloyDB Omni 可伸缩高可用性虚拟机部署架构
组件
RPM 编排器部署选项包含一组软件组件,每个组件都作为 RPM 或 Debian 软件包安装,用于全栈、高可用性的 AlloyDB Omni 部署。参考架构依赖于这些组件来执行数据库操作。
| 组件 | 说明 |
|---|---|
| 编排程序 | AlloyDB Omni 编排器提供命令行和 Ansible 接口,可帮助您在分布式环境中部署和管理一个或多个 AlloyDB Omni 集群。 |
| alloydbomni | AlloyDB Omni 核心包含 PostgreSQL 和 Autopilot 功能,可增强性能和功能,以支持现代工作负载,例如在线分析处理 (OLAP) 和生成式 AI。 |
| alloydbomni_monitor | 借助 AlloyDB Omni 监控,您可以从 AlloyDB Omni 中提取指标。 |
alloydbomni_ui(可选) |
AlloyDB Omni Web 用户界面是一个自行管理式 Web 控制台,提供集群实例的可观测性信息中心、系统遥测图表、数据库大小、活跃数据库标志、列式引擎统计信息和 Query Insights。 |
| etcd | etcd 提供了一个分布式配置系统,集群管理器使用该系统来存储 PostgreSQL 配置和状态信息。 |
| 集群管理器 | 中央控制平面负责编排集群范围内的操作。这包括引导集群、管理高可用性、处理故障切换、协调升级,以及为自动化工具(例如 Ansible 和 alloydbctl 命令行实用程序)提供接口。 |
| 节点管理器 | 在 AlloyDB Omni 集群中的每个节点上运行的代理。它会与集群管理器交互,以在节点上执行任务,例如安装和配置 AlloyDB Omni、管理数据库服务生命周期(启动和停止)、监控节点健康状况以及收集日志和指标。 |
| HAProxy | HAProxy 可用作 AlloyDB Omni 部署的负载均衡器。它会公开读写端点和只读端点。它与集群管理器配合,将流量重定向到适当的活跃节点。 |
| keepalived | keepalived 可以使用浮动虚拟 IP 地址为参与节点(例如 HAProxy)提供高可用性。 |
| PgBouncer | PgBouncer 是适用于 PostgreSQL 数据库的轻量级连接池。 |
| pgBackRest | pgBackRest 是一款专为 PostgreSQL 设计的开源备份和恢复工具。 |
借助此架构,您可以在现有的 Linux 虚拟机环境中高效运行和操作 AlloyDB Omni,将 AlloyDB Omni 与您熟悉的既定操作实践相结合。
系统要求
AlloyDB Omni 部署堆栈的系统要求包括一组预配置为运行各种组件的虚拟机。每个 AlloyDB Omni 虚拟机都必须有一个配置了 ext4/xfs 文件系统的挂接数据磁盘。磁盘大小是根据数据大小估算的。存储的性能特征会影响 AlloyDB Omni 的性能。下表提供了虚拟机的最低和推荐 CPU 及内存配置。
| 虚拟机类型 | 最低硬件和操作系统 (OS) 要求 | 推荐的硬件和操作系统 |
|---|---|---|
| 控制器节点 |
|
|
| 负载均衡器节点 |
|
|
| AlloyDB Omni(独立式) |
|
|
| AlloyDB Omni(高可用性) |
|
|
| 备份仓库节点 |
|
|
高可用性部署参考架构
与单节点数据库设置相比,HA 架构可更好地防范数据层停机。这两种高可用性参考架构都使用多节点数据库设置(primary_instance_nodes 组),其中包含一个活跃的主节点和同步流式复制的备用节点,这些节点部署在不同的可用区中。如果主节点发生故障,备用节点会接管为主节点,以处理客户端查询。
软件栈中的集群管理器组件会执行集群配置、监控 AlloyDB Omni 服务器运行状况,并借助 etcd 等分布式配置系统选择新的主实例,从而编排自动故障切换。企业将 RPO 和恢复时间目标 (RTO) 作为可用性的关键衡量指标。高可用性架构设置可针对可用区级故障提供近乎为零的 RPO 和 RTO。您还可以配置备份和可选的读取池实例,并使用异步复制来分流只读工作负载。
根据您的工作负载和路由要求,您可以使用弹性高可用性架构(无需专用负载均衡器节点即可运行)或可伸缩的高可用性架构(包含专用负载均衡器节点)来部署 AlloyDB Omni:
弹性高可用性
弹性高可用性架构部署数据库节点(primary_instance_nodes 组),而无需专用负载均衡器节点:
- 虚拟 IP 路由:
keepalived服务直接在数据库节点上运行,并管理指向活跃主节点的浮动虚拟 IP 地址。此配置会直接在活跃节点上公开读写端点。客户端应用使用虚拟 IP 地址连接到数据库。如果发生故障切换,并且备用节点被提升为主节点,则keepalived服务会自动将虚拟 IP 地址切换到新的活跃主节点。 - 连接池:如果您使用 PgBouncer 进行连接池,它会直接在数据库节点上运行。
可扩缩的高可用性
可伸缩的高可用性架构会向数据库集群添加专用负载均衡器节点(load_balancer_nodes 组):
- HAProxy 负载均衡:专用负载均衡器节点运行 HAProxy,后者会公开读写端点和只读端点。HAProxy 与集群管理器协同工作,监控节点状态,将读写查询路由到活跃的主节点,并在运行状况良好的备用节点或可选读取池实例之间分配只读查询。如果发生故障切换,HAProxy 会自动将读写流量切换到新的活跃节点。
- 负载均衡器高可用性:
keepalived服务在负载均衡器节点上运行,并管理这些节点上的浮动虚拟 IP 地址。客户端使用此虚拟 IP 地址连接到 HAProxy 负载均衡器,以执行数据库操作。如果活跃的 HAProxy 服务或负载均衡器节点发生故障,keepalived服务会将虚拟 IP 地址迁移到另一个负载均衡器节点。 - 连接池:如果您使用 PgBouncer 进行连接池,它会在专用负载均衡器节点上与 HAProxy 和
keepalived一起运行。
下图展示了高可用性部署架构:

图 3. 高可用性部署架构
RPM 编排器
使用 RPM 编排器的 AlloyDB Omni 提供了一个自动化平台和控制平面,用于在一组虚拟机或裸金属服务器上安装、设置和管理 AlloyDB Omni 数据库集群。这包括各种参考架构配置,例如独立、弹性、可伸缩的高可用性 (HA)。
AlloyDB Omni 集群管理器提供控制平面。 此组件是核心服务,可自动管理 AlloyDB Omni 集群并实现其高可用性,从而帮助控制 AlloyDB Omni 集群的端到端生命周期。控制平面本身具有高可用性,可处理各种故障场景。
RPM 编排器部署选项是与 AlloyDB Omni 集群管理器服务通信的远程接口。编排器在专用节点(称为控制节点)上运行。通过此节点,您可以通过安全信道远程管理一个或多个集群。为了与您的环境兼容,我们提供了多个 AlloyDB Omni 编排器。选择适合您的自动化需求的编排器。
- AlloyDB Omni 编排器 CLI(以 RPM 形式提供):建议在通过 shell 脚本自动部署和管理集群的环境中使用。
- RPM Orchestrator Ansible(以 Ansible 集合形式提供):建议在以下环境中使用:使用基于 Ansible 的内置自动化功能,并准备通过调用其他 Ansible 角色来扩展该功能。我们提供了 Ansible 策略手册示例,以便与现有 Ansible 策略手册直接集成。
AlloyDB Omni 编排器可协助执行以下与 AlloyDB Omni 集群相关的操作。基于 Ansible 的编排器为其中每项操作提供 Ansible 角色。命令行提供了一组使用 shell 提示符或 shell 脚本调用的命令。
Installation:在相应节点上安装各种集群组件。Bootstrap:根据所有组件的规范对其进行配置和引导。Update:更新资源以使用较新版本或更新后的配置。Status:获取集群中所有组件或服务的状态。Delete:删除集群资源。
编排器以 YAML 格式接受一组规范作为输入。
- 部署规范:这与定义虚拟机集群拓扑的 Ansible 清单格式相同。它包含各种虚拟机组(例如以下虚拟机组)及其配置。
primary_instance_nodes:专用于 AlloyDB Omni 数据库服务器的节点。cluster_manager_nodes:可选。运行 AlloyDB Omni 集群管理器服务器的节点。如果不存在专用集群管理器节点,您可以在primary_instance_nodes上部署集群管理器。etcd_nodes:集群管理器将元数据存储在 etcd 上。如果未明确指定,etcd 可以在与集群管理器节点相同的节点上运行。load_balancer_nodes:可选。在可伸缩的高可用性部署中,专用于基于 HAProxy 的负载均衡器的其他节点。如果省略,keepalived和 PgBouncer 会直接在弹性高可用性部署中的primary_instance_nodes组中的节点上运行。
- 资源规范:集群由一个或多个要部署和管理的集群资源组成,例如数据库集群和连接池。资源规范采用 YAML 格式,描述了要在集群中部署的资源。
限制
- RPM Orchestrator 部署选项仅支持以下内容:
- AlloyDB Omni PostgreSQL 18
- 与 RHEL 版本 9 兼容的软件包
- Intel x86 64 位平台
- 不支持主要版本升级。
- 不包含有关设置灾难恢复和读取池实例的说明。
- AlloyDB Omni 监控不支持 SSL 连接。您必须在与 AlloyDB Omni 节点相同的专用网络上部署监控信息中心服务器。
- AlloyDB Omni 支持宽容模式和实施模式下的 SELinux。您必须先配置所选的 SELinux 模式,然后才能引导集群。不支持在引导后切换到强制模式。
后续步骤
- 如需开始使用此部署选项,请使用注册表单申请访问权限。
- 选择 AlloyDB Omni 下载及安装选项。
- 安装 AlloyDB Omni 编排器。
- 安装 Web 界面。