安装 AlloyDB Omni RPM 编排器

选择文档版本:

AlloyDB Omni 使用 RPM 编排器提供了一个自动化平台,用于在一组虚拟机 (VM) 或裸金属服务器上安装、设置和管理 AlloyDB Omni 数据库集群。AlloyDB Omni 使用 RPM 编排器提供了一个 CLI 和 Ansible 接口,该接口在专用控制节点上运行,您可以通过该节点远程管理一个或多个集群。

您可以根据自动化需求,在以下两种编排器接口之间进行选择:

  • AlloyDB Omni 编排器 CLI alloydbctl:建议用于使用 Shell 脚本进行自动化的环境。
  • AlloyDB Omni 编排器 Ansible 集合:建议用于使用 Ansible 的自动化的环境。

限制

此版本存在以下限制:

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

准备工作

在开始部署之前,请确保满足以下要求:

获取 AlloyDB Omni 软件包

AlloyDB Omni 使用 RPM 编排器软件包处于 预览版阶段。您必须使用 AlloyDB Omni 使用 RPM 编排器预览版注册表单 进行注册,才能接收 RPM 文件。

如果您通过私有 Yum 代码库管理软件包,请按照代码库管理中的说明将依赖的 RPM 文件添加到代码库中。如需了解详情,请参阅软件包依赖项

设置软件代码库

AlloyDB Omni RPM 保存在全局 YUM 代码库中。或者,如果您的组织通过私有 YUM 代码库管理软件,则必须根据您的管理工具,将注册后提供的 RPM 软件包添加到您的代码库中。在部署过程中,您需要私有代码库网址。

配置机器

配置一组运行 RHEL 9 的虚拟机,包括:

  • 控制器:1 个节点。编排部署,并且必须对所有其他节点拥有无需密码的 SSH 访问权限。
  • 数据库:1 个或 3 个节点。运行 AlloyDB Omni 核心服务和监控服务。
  • 负载平衡器:可选,2 个节点。运行 HAProxy 和可选的连接池程序(如 PgBouncer)。

配置网络和防火墙

根据您的架构,配置防火墙以允许以下 TCP 端口:

端口 协议 节点 服务 流量 备注
5432 TCP 负载平衡器 HAProxy 传入 在负载均衡器节点上(如果适用)
6432 TCP 负载平衡器 PgBouncer 传入 连接池程序(如果适用)
9187 TCP 数据库 AlloyDB 监控器 传入 监控器(如果适用);不支持 TLS
5432 TCP 数据库 AlloyDB 传入 3 节点弹性架构
6432 TCP 数据库 PgBouncer 传入 连接池程序(如果适用于 3 节点弹性架构)
2380 TCP etcd etcd 传入 适用于 etcd 对等互连协议
- VRRP 负载平衡器 Keepalived 传入 Keepalived 主节点选举
- VRRP 数据库 Keepalived 传入 Keepalived 主节点选举(适用于 3 节点弹性架构)
6703 TCP 集群管理器 集群管理器 传入 集群管理器 gRPC 端口
6702 TCP 所有节点 节点管理器 传入 节点管理器 gRPC 端口
6700 TCP 所有节点 节点管理器 传入 节点管理器 Init gRPC 端口
8086 HTTP 所有节点 节点管理器 传入 节点管理器 HTTP 端口,用于检查主节点或备用节点
2379 TCP etcd etcd 传入 供集群管理器与 etcd 搭配使用
443 HTTPS 数据库 Cloud Storage 传出 用于发送备份数据

如需确保 SELinux 处于宽容模式,请在所有数据库节点和负载均衡器节点上运行以下命令。控制节点不需要这些命令:

sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config
sudo setenforce 0

安装编排器

Ansible

如果您计划使用 Ansible playbook 管理集群,请使用此方法。

  1. 在控制节点上,安装 Ansible 和所需的 Python 库:

    # Install EPEL for RHEL 9
    sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm -y
    # Install Ansible and dependencies
    sudo dnf install ansible
    sudo dnf install python3-grpcio python3-protobuf python3-googleapis-common-protos
    
  2. 下载 Ansible 集合 tar 文件及其签名,验证软件包并安装:

    # Download the collection and its signature
    wget ALLOYDBOMNI_SERVER/google-alloydbomni_orchestrator-0.1.0-1.tar.gz
    wget ALLOYDBOMNI_SERVER/google-alloydbomni_orchestrator-0.1.0-1.tar.gz.asc
    
    # Import the Google Linux signing key
    curl -sS https://dl.google.com/linux/linux_signing_key.pub | gpg --import
    
    # Verify the collection tarball
    gpg --verify google-alloydbomni_orchestrator-0.1.0-1.tar.gz.asc \
    google-alloydbomni_orchestrator-0.1.0-1.tar.gz
    
    # Install the collection
    ansible-galaxy collection install google-alloydbomni_orchestrator-0.1.0-1.tar.gz
    
    # Verify the installation
    ansible-galaxy collection list | grep alloydbomni_orchestrator
    

    ALLOYDBOMNI_SERVER 替换为托管 AlloyDB Omni 软件包(包括 Ansible 集合 tar 文件)的服务器的网址。在您注册 AlloyDB Omni 使用 RPM 编排器 预览版后,系统会向您提供此来源。

alloydbctl

如果您偏好使用命令行实用程序来管理资源,请使用此方法。

  1. 在控制节点上创建 YUM 配置文件,路径为 /etc/yum.repos.d/alloydbomni_orchestrator.repo

    [alloydbomni_orchestrator]
    name=Google AlloyDB Omni orchestrator packages
    baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    

    替换以下内容:

    • ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL:包含 AlloyDB Omni 编排器 RPM 的代码库的网址。
    • REPO_GPG_KEY:Google 的 GNU Privacy Guard (GPG) 验证公钥的位置,例如 https://dl.google.com/linux/linux_signing_key.pub。如果密钥下载到文件,也可以将其设置为路径,例如 file:///tmp/linux_signing_key.pub
  2. 安装软件包并将二进制文件添加到系统的 PATH

    sudo dnf install alloydbomni_orchestrator
    export PATH=$PATH:/usr/local/bin
    
  3. 运行以下命令,验证安装是否成功:

    alloydbctl --help