使用 RPM Orchestrator 的 AlloyDB Omni 概览

选择文档版本:

AlloyDB Omni 提供了一个编排平台,用于在非 Kubernetes 环境中(例如,在 Red Hat Enterprise Linux (RHEL) 和使用 Red Hat Package Manager (RPM) 软件包的兼容系统上)部署和管理 AlloyDB Omni。RPM 编排器部署选项可将类似云的灵活性和自动化功能扩展到本地和虚拟机 (VM) 基础架构。

使用 RPM 编排器的 AlloyDB Omni 可让企业使用标准 RPM 软件包安装、配置和管理 AlloyDB Omni 实例。此方法适用于在虚拟机基础设施方面投入了大量资金,并且围绕 Ansible 等自动化工具建立了成熟的运营实践的组织。RPM 编排器部署选项直接在 Linux 虚拟机或裸机服务器上运行,无需 Docker 等容器化层或 Kubernetes 等编排系统。

使用场景

RPM 编排器部署选项支持以下使用场景:

使用场景 说明
拥有虚拟机基础架构的企业 支持 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 提供统一的控制平面。
  • 可观测性和审核:支持使用 rsyslog 与外部日志记录服务器(例如 Elastic Stack)集成,以实现集中式日志管理、监控和审核。
  • 数据保护:包括可简化备份和恢复配置及策略的功能。
  • 连接池:支持部署 PgBouncer 以优化数据库连接并提高性能。
  • 舰队管理:让您能够大规模管理多个 AlloyDB Omni 集群。

架构

AlloyDB Omni 定义了一个组件层次结构,可提供灵活性。这种灵活性有助于您最大限度地提高数据可用性,并优化查询性能和吞吐量。借助这种方法,您可以监控 AlloyDB Omni 部署,并根据工作负载调整其规模和大小。

下图展示了在裸金属或虚拟机环境中部署 AlloyDB Omni 的分类。

AlloyDB Omni 虚拟机部署拓扑。

图 1. AlloyDB Omni 虚拟机部署拓扑

层次结构中的顶级资源是 AlloyDB Omni 部署,其中包含一个主集群和一个或多个次要集群。AlloyDB Omni 集群包含一个或多个实例,这些实例是用户连接到的计算资源的抽象表示。集群包含一个主实例(读写)和一个或多个可选的读取池实例(只读)。每个实例都有自己的访问端点。您可以选择设置一个包含单个节点的主实例以进行独立部署,也可以设置包含多个节点的主实例以进行高可用性部署。所有节点都使用软件包部署了 AlloyDB Omni 和其他相关组件。

主实例包含一个活跃(读写)节点,用于处理事务性工作负载。对于超出基本测试、实验和开发范围的数据库集群,请设置高可用性并添加备用节点。为避免在发生故障导致提供读写事务的主节点无法使用时丢失数据 (RPO=0),请将备用节点的同步复制模式配置为 RPO,即恢复点目标。

组件

RPM Orchestrator 部署选项包含一组软件组件,每个组件都以 RPM 或 Debian 软件包的形式安装,用于实现全栈高可用性 AlloyDB Omni 部署。参考架构依赖于这些组件来执行数据库操作。

组件 说明
编排程序 AlloyDB Omni 编排功能提供命令行和 Ansible 接口,可帮助您在分布式环境中部署和管理一个或多个 AlloyDB Omni 集群。
alloydbomni AlloyDB Omni 核心组件包含 PostgreSQL 和 Autopilot 功能,可提升性能和功能,以支持现代工作负载,例如在线分析处理 (OLAP) 和生成式 AI。
alloydbomni_monitor 借助 AlloyDB Omni 监控器,您可以从 AlloyDB Omni 拉取指标。
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) 推荐的硬件和操作系统
控制器节点
  • 操作系统:RHEL9
  • CPU:支持 AVX2 的 x86-64 2 vCPU
  • RAM:2 GB
  • 磁盘:10 GB
  • 操作系统:RHEL9
  • CPU:支持 AVX2 的 x86-64 8 vCPU
  • RAM:8 GB
  • 磁盘:20 GB 或更多
负载均衡器节点
  • 操作系统:RHEL9
  • CPU:支持 AVX2 的 x86-64 2 vCPU
  • RAM:2 GB
  • 磁盘:10 GB
  • 操作系统:RHEL9
  • CPU:支持 AVX2 的 x86-64 16 vCPU
  • RAM:8 GB
  • 磁盘:20 GB 或更多
AlloyDB Omni(独立)
  • 操作系统:RHEL9
  • CPU:支持 AVX2 的 x86-64 2 vCPU
  • RAM:16 GB
  • 磁盘:20 GB
  • 数据磁盘:数据大小的 2 倍
  • 操作系统:RHEL9
  • CPU:支持 AVX2 的 x86-64 64 vCPU
  • RAM:为 AlloyDB Omni 的每个 vCPU 提供 8 GB
  • 磁盘:20 GB
  • 数据磁盘:数据大小的 2 倍
AlloyDB Omni(高可用性)
  • 操作系统:RHEL9
  • CPU:支持 AVX2 的 x86-64 4 vCPU
  • RAM:20 GB
  • 磁盘:10 GB
  • 数据磁盘:数据大小的 2 倍
  • 操作系统:RHEL9
  • CPU:支持 AVX2 的 x86-64 64 vCPU
  • RAM:每个 vCPU 8 GB 或更多(适用于 AlloyDB Omni)
  • 磁盘:20 GB
  • 数据磁盘:数据大小的 2 倍
备份代码库节点
  • 操作系统:RHEL9
  • CPU:支持 AVX2 的 x86-64 2 vCPU
  • RAM:2 GB
  • 磁盘:10 GB
  • 备份磁盘:N 天乘以数据大小
  • 操作系统:RHEL9
  • CPU:支持 AVX2 的 x86-64 8 vCPU
  • RAM:8 GB
  • 磁盘:20 GB
  • 备份磁盘:N 天乘以数据大小

HA 部署参考架构

与单节点数据库设置相比,高可用性架构可提供更强的数据层级停机保护。此参考架构配置使用三节点设置,其中一个节点为主活跃节点,其他节点为同步流式复制备用服务器,部署在不同的可用区中。如果主节点发生故障,其中一个备用节点将接管主节点,以处理客户端查询。

软件堆栈中的集群管理器组件执行集群配置。集群管理器还会监控 AlloyDB Omni 服务器,并在分布式配置系统(例如 etcd)的帮助下选择新的主服务器。企业使用 RPO 和 RTO(恢复时间目标)作为可用性的关键衡量指标。高可用性架构设置可实现接近于零的 RPO 和 RTO,以应对可用区级故障。

额外的节点会部署基于 HAProxy 的负载均衡器,并为只读工作负载配置额外的端点。HAProxy 与集群管理器协同工作,以监控当前活跃节点,并在发生故障切换时切换到新的活跃节点。客户端连接到 HAProxy 节点,以对数据库执行操作。下图显示了此 HA 部署架构。

AlloyDB Omni HA 部署架构。

图 2:HA 部署架构

RPM 编排系统

使用 RPM 编排器的 AlloyDB Omni 提供了一个自动化平台和一个控制平面,用于在一组虚拟机或裸机服务器上安装、设置和管理 AlloyDB Omni 数据库集群。这包括各种参考架构配置,例如独立、弹性且可伸缩的高可用性 (HA)。

AlloyDB Omni 集群管理器提供控制平面。此组件是一项核心服务,可自动管理 AlloyDB Omni 集群并确保其高可用性,从而帮助控制 AlloyDB Omni 集群的端到端生命周期。控制平面本身具有高可用性,可处理各种故障场景。

RPM Orchestrator 部署选项是与 AlloyDB Omni 集群管理器服务通信的远程接口。编排器在专用节点(称为控制节点)上运行。通过此节点,您可以通过安全通道远程管理一个或多个集群。为了与您的环境兼容,我们提供了多个 AlloyDB Omni 编排器。选择适合您的自动化需求的编排器。

  • AlloyDB Omni Orchestrator CLI(以 RPM 形式提供):建议在以下环境中使用此 CLI:使用 shell 脚本自动执行集群部署和管理。
  • RPM 编排器 Ansible(以 Ansible Collection 形式提供):建议在以下环境中使用此编排器:使用基于 Ansible 的内置自动化功能,并准备好通过调用其他 Ansible 角色来扩展该功能。我们提供了示例 Ansible playbook,以便与现有 Ansible playbook 直接集成。

AlloyDB Omni 编排器可帮助执行以下与 AlloyDB Omni 集群相关的操作。基于 Ansible 的编排器为每项操作提供 Ansible 角色。命令行提供了一组使用 shell 提示符或 shell 脚本调用的命令。

  • Installation:在各个节点上安装各种集群组件。
  • Bootstrap:根据所有组件的规范配置并引导它们。
  • Update:更新资源以适应新版本或更新的配置。
  • Status:获取集群中所有组件或服务的状态。
  • List:获取集群中已部署的可用资源列表。
  • Delete:删除集群资源。

编排器以 YAML 格式接受一组规范作为输入。

  • 部署规范:此规范与定义虚拟机集群拓扑的 Ansible 清单格式相同。它包含各种虚拟机组(例如以下组)及其配置。
    • primary_instance_nodes:专用于 AlloyDB Omni 数据库服务器的节点。
    • cluster_manager_nodes:可选。运行 AlloyDB Omni 集群管理器服务器的节点。如果没有专用集群管理器节点,您可以在 primary_instance_nodes 上部署集群管理器。
    • etcd_nodes:集群管理器将元数据存储在 etcd 上。如果未明确指定,etcd 可以与集群管理器节点在同一节点上运行。
    • load_balancer_nodes:这些是专用于基于 HAProxy 的负载均衡器的额外节点。
  • 资源规范:集群由一个或多个要部署和管理的集群资源组成,例如数据库集群和连接池。资源规范采用 YAML 格式,用于描述要在集群中部署的资源。

限制

  • 预览版仅支持以下内容:
    • AlloyDB Omni PostgreSQL 18
    • 与 RHEL 版本 9 兼容的软件包
    • Intel x86 64 位平台
  • 不支持主要版本升级。
  • 不包含有关设置灾难恢复和读取池实例的说明。
  • AlloyDB Omni 监控不支持 SSL 连接。您必须将监控信息中心服务器部署在与 AlloyDB Omni 节点相同的专用网络上。
  • AlloyDB Omni 假定 SELinux(如果存在)已在主机上配置为宽容模式,包括访问文件系统。

后续步骤