Instala AlloyDB Omni con el orquestador de RPM

Selecciona una versión de la documentación:

En esta página, se describe cómo instalar la pila de software de AlloyDB Omni y sus componentes de administración con el organizador de AlloyDB Omni.

Antes de comenzar

Antes de instalar los componentes, asegúrate de haber completado los siguientes requisitos previos:

  • Instala el organizador: Asegúrate de que la colección o la CLI de Ansible del organizador de AlloyDB Omni estén instaladas en tu nodo de control.
  • Aprovisiona máquinas: Debes tener máquinas virtuales RHEL9 aprovisionadas según la arquitectura que elijas, como independiente o de alta disponibilidad.
  • Configura la red y el firewall: Asegúrate de que todos los puertos requeridos estén abiertos entre tus nodos. Esto incluye 5432 para el tráfico de la base de datos, 2379/2380 para etcd y los puertos de administración 6703, 6702 y 6700 que usan el administrador de clústeres y el administrador de nodos.
  • Verifica las dependencias de los paquetes de software: Si administras paquetes de software a través de un repositorio Yum privado, sigue las instrucciones de la administración del repositorio para incluir archivos RPM dependientes en el repositorio.

Prepara el inventario de especificaciones de implementación

El organizador usa un archivo de especificación de implementación en formato de inventario de Ansible para comprender la topología de tu clúster. Crea un archivo llamado deployment_spec.yaml con los detalles de tu nodo.

alloydbomni:
  vars:
    cluster_manager:
      name: "MANAGEMENT_CLUSTER_NAME"
    etcd:
      setup: SETUP_ETCD
      config_forcewrite: FORCE_OVERWRITE_ETCD
      # version: ETCD_VERSION  # Optional: defaults to the latest version
      # repo_url: ETCD_REPOSITORY_URL  # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni:
      major_version: "PG_VERSION" # Mandatory: for example, 18
      # version: ALLOYDB_OMNI_VERSION    # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL     # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni_monitor:
      # version: ALLOYDB_OMNI_MONITOR_VERSION    # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL   # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni_cluster_manager:
      # version: ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION      # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    alloydbomni_node_manager:
      # version: ALLOYDB_OMNI_NODE_MANAGER_VERSION         # Optional: defaults to the latest version
      # repo_url: ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    pgbouncer:
      # version: ALLOYDB_OMNI_PGBOUNCER_VERSION    # Optional
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL   # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional
    pgbackrest:
      # version: ALLOYDB_OMNI_PGBACKREST_VERSION   # Optional
      # repo_url: ALLOYDB_OMNI_COMMON_REPOSITORY_URL   # Optional
      # repo_gpg_key_url: GPG_KEY  # Optional

  children:
    primary_instance_nodes:
      hosts:
        DB_HOST_1:
        DB_HOST_2:
        DB_HOST_3:
    load_balancer_nodes:    # Optional. Host group for load balancer. If empty, no load balancer is configured.
      hosts:
        LB_HOST_1:
        LB_HOST_2:
    etcd_nodes:     # Optional: Host group where etcd is set up
      hosts:
        ETCD_HOST_1:
        ETCD_HOST_2:
        ETCD_HOST_3:
    cluster_manager_nodes:    # Optional: Host group for cluster manager
      hosts:
        CM_HOST_1:
        CM_HOST_2:
        CM_HOST_3:

Reemplaza lo siguiente:

  • MANAGEMENT_CLUSTER_NAME: Es el nombre de tu clúster de administración. Puede ser el mismo que el nombre del clúster de base de datos si están instalados en los mismos nodos, por ejemplo, my-management-cluster.
  • SETUP_ETCD: Especifica si el organizador debe configurar y arrancar el clúster etcd. Cuando se establece en true, el organizador realiza la configuración y la inicialización iniciales de etcd en los nodos etcd designados. Si no se definen nodos etcd en tu deployment_spec, se configura etcd de forma predeterminada en los nodos del administrador de clústeres. Este parámetro corresponde a la clave etcd.setup en la especificación de implementación.
  • FORCE_OVERWRITE_ETCD: Determina si se debe reemplazar un archivo de configuración etcd existente durante el proceso de configuración. Establécelo en true para anular el archivo de configuración existente en los nodos de destino; de lo contrario, establécelo en false(el valor predeterminado) para mantener la configuración existente y evitar interrupciones no deseadas del servicio.
  • ETCD_VERSION: Es la versión del paquete etcd que se instalará, por ejemplo, 3.4.13.
  • ETCD_REPOSITORY_URL: Es la URL del repositorio que contiene los RPM de etcd.
  • PG_VERSION: Es la versión principal de PostgreSQL de tu instalación de AlloyDB Omni, por ejemplo, 18.
  • ALLOYDB_OMNI_VERSION: Es la versión del motor de base de datos de AlloyDB Omni que se instalará, por ejemplo, 18.1.0. Si se omite, el organizador instala la versión más reciente disponible.
  • ALLOYDB_OMNI_COMMON_REPO_URL: Es la URL del repositorio común que contiene los RPM de AlloyDB Omni, monitor, PgBouncer y pgBackRest.
  • GPG_KEY: Es la ubicación de la clave pública de Google para la verificación de GNU Privacy Guard (GPG), por ejemplo, https://dl.google.com/linux/linux_signing_key.pub. También se puede establecer como una ruta de acceso si la clave se descarga en un archivo en todas las VMs, por ejemplo, /tmp/linux_signing_key.pub.
  • ALLOYDB_OMNI_MONITOR_VERSION: Es la versión del paquete de supervisión de AlloyDB Omni que se instalará. El valor predeterminado es la versión más reciente disponible.
  • ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION: Es la versión del administrador de clústeres de AlloyDB Omni que se instalará. Si se omite, el organizador instala la versión más reciente disponible.
  • ALLOYDB_OMNI_ORCHESTRATOR_REPO_URL: Es la URL del repositorio que contiene los RPM del administrador de clústeres y del administrador de nodos de AlloyDB Omni.
  • ALLOYDB_OMNI_NODE_MANAGER_VERSION: Es la versión del administrador de nodos de AlloyDB Omni que se instalará. Si se omite, el organizador instala la versión más reciente disponible.
  • ALLOYDB_OMNI_PGBOUNCER_VERSION: Es la versión del paquete PgBouncer que se instalará.
  • ALLOYDB_OMNI_PGBACKREST_VERSION: Es la versión del paquete pgBackRest que se instalará.
  • DB_HOST_1, DB_HOST_2, DB_HOST_3: Son las direcciones IP o los nombres de dominio completamente calificados (FQDN) de las máquinas virtuales designadas como nodos de base de datos.
  • LB_HOST_1, LB_HOST_2: Son las direcciones IP o los nombres de dominio completamente calificados (FQDN) de las máquinas virtuales designadas como nodos del balanceador de cargas.
  • ETCD_HOST_1, ETCD_HOST_2, ETCD_HOST_3: Son las direcciones IP o los FQDN de las máquinas virtuales designadas como nodos etcd.
  • CM_HOST_1, CM_HOST_2, CM_HOST_3: Son las direcciones IP o los FQDN de las máquinas virtuales designadas como nodos del administrador de clústeres.

Instala los componentes

Puedes instalar los componentes de AlloyDB Omni y sus dependencias con Ansible o instalando de forma manual los paquetes de software en cada nodo.

Instala los componentes de AlloyDB Omni con Ansible

El método recomendado para la instalación es usar el rol de Ansible proporcionado.

  1. Crea una guía llamada install.yaml que haga referencia al rol de instalación de la colección del organizador.

    - name: Install AlloyDB Omni cluster components
      hosts: all
      become: true
      vars:
        ansible_user: SSH_USER
        ansible_ssh_private_key_file: SSH_KEY_PATH
      roles:
        - role: google.alloydbomni_orchestrator.install
    

    Reemplaza lo siguiente:

    • SSH_USER: Es el nombre de usuario que usas para conectarte a los nodos de tu clúster con SSH.
    • SSH_KEY_PATH: Es la ruta de acceso al archivo de clave privada SSH en tu nodo de control, por ejemplo, ~/.ssh/id_rsa.
  2. Para descargar e instalar los componentes en todos los nodos especificados, ejecuta la guía con tu archivo de inventario.

    ansible-playbook -i deployment_spec.yaml install.yaml
    

Instala los componentes de AlloyDB Omni sin Ansible

Si no tienes un entorno de Ansible y planeas usar la CLI del organizador para la administración de clústeres, deberás instalar todos los componentes de forma manual, ya que la CLI del organizador no proporciona la instalación automatizada de componentes.

Instala componentes en todos los nodos

En la siguiente tabla, se enumeran todos los tipos de nodos y los componentes correspondientes (RPM) que se instalarán.

Nodo Componentes de SW (RPM) Nota
control node alloydbomni_orchestrator
primary_instance_nodes alloydbomni18
alloydbomni_monitor
alloydbomni_node_manager
keepalived
pgbackrest
pgbouncer
Keepalived y pgbouncer solo son necesarios para los entornos en los que no hay balanceadores de cargas.
etcd_nodes etcd ETCD se puede instalar en los nodos del administrador de clústeres cuando no hay nodos dedicados para ETCD.
cluster_manager_nodes alloydbomni_cluster_manager El administrador de clústeres se puede instalar en los nodos de la base de datos (primary_instance_nodes) cuando no hay nodos dedicados para el administrador de clústeres.
load_balancer_nodes alloydbomni_node_manager
haproxy
keepalived
pgbouncer
keepalived y pgbouncer se instalan en los nodos del balanceador de cargas solo para el entorno en el que hay balanceadores de cargas configurados.

Comandos de instalación:

  • REPO_GPG_KEY: Es la ubicación de la clave pública de Google para la verificación de GPG, por ejemplo, https://dl.google.com/linux/linux_signing_key.pub. También se puede establecer como una ruta de acceso de archivo una vez que se descarga y se coloca en todas las VMs, por ejemplo, file:///tmp/linux_signing_key.pub.

Instala los componentes de AlloyDB Omni en los nodos etcd

  1. En todos los nodos etcd, crea un archivo de configuración del repositorio YUM llamado /etc/yum.repos.d/alloydb-etcd.repo:

    [etcd]
    name=AlloyDB Omni ETCD
    baseurl=ETCD_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instala etcd:

    sudo dnf install -y etcd
    
  3. Arranca etcd editando el archivo de configuración. Debes arrancar etcd antes de instalar los componentes de AlloyDB Omni.

    En etcd_nodes, edita /etc/etcd/etcd.conf:

    ETCD_NAME=ETCD_HOST
    ETCD_DATA_DIR=/var/lib/etcd/data
    ETCD_LISTEN_PEER_URLS=https://ETCD_HOST_IP:2380,https://127.0.0.1:2380
    ETCD_LISTEN_CLIENT_URLS=https://ETCD_HOST_IP:2379,https://127.0.0.1:2379
    ETCD_INITIAL_ADVERTISE_PEER_URLS=https://ETCD_HOST_IP:2380
    ETCD_ADVERTISE_CLIENT_URLS=https://ETCD_HOST_IP:2379
    
    ETCD_INITIAL_CLUSTER=ETCD_HOST_1=https://ETCD_HOST_IP_1:2380,ETCD_HOST_2=https://ETCD_HOST_IP_2:2380,ETCD_HOST_3=https://ETCD_HOST_IP_3:2380
    
    ETCD_INITIAL_CLUSTER_STATE=new
    ETCD_INITIAL_CLUSTER_TOKEN=CLUSTER_NAME
    ETCD_ENABLE_V2=true
    
    ETCD_CLIENT_CERT_AUTH=true
    ETCD_TRUSTED_CA_FILE=/var/lib/etcd/ssl/etcd-ca.crt
    ETCD_CERT_FILE=/var/lib/etcd/ssl/etcd-tls.crt
    ETCD_KEY_FILE=/var/lib/etcd/ssl/etcd-tls.key
    ETCD_PEER_CLIENT_CERT_AUTH=true
    ETCD_PEER_TRUSTED_CA_FILE=/var/lib/etcd/ssl/etcd-ca.crt
    ETCD_PEER_CERT_FILE=/var/lib/etcd/ssl/etcd-tls.crt
    ETCD_PEER_KEY_FILE=/var/lib/etcd/ssl/etcd-tls.key
    

    Aquí:

    • ETCD_HOST: Es el host etcd actual.
    • ETCD_HOST_IP: Es la IP del host etcd actual.
    • ETCD_HOST_1: Es el nombre del primer nodo del clúster etcd.
    • ETCD_HOST_IP_1: Es la dirección IP del primer nodo del clúster etcd.
    • ETCD_HOST_2: Es el nombre del segundo nodo del clúster etcd.
    • ETCD_HOST_IP_2: Es la dirección IP del segundo nodo del clúster etcd.
    • ETCD_HOST_3: Es el nombre del tercer nodo del clúster etcd.
    • ETCD_HOST_IP_3: Es la dirección IP del tercer nodo del clúster etcd.
    • CLUSTER_NAME: Es el nombre del clúster según el plano de control.
  4. Configura el firewall para permitir la comunicación TCP en los puertos 2379 y 2380.

  5. Inicia etcd:

    sudo systemctl enable etcd
    sudo systemctl start etcd
    

Instala los componentes de AlloyDB Omni en los nodos de la instancia principal

  1. En todos los primary_instance_nodes, crea un archivo de configuración del repositorio YUM llamado /etc/yum.repos.d/alloydb-omni.repo:

    [alloydbomni_core]
    name=AlloyDB Omni Core
    baseurl=ALLOYDB_OMNI_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
    [alloydbomni_common]
    name=AlloyDB Omni Common
    baseurl=ALLOYDB_OMNI_COMMON_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    priority=1
    
    [alloydbomni_orchestrator]
    name=AlloyDB Omni Orchestrator
    baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instala alloydbomni18, alloydbomni_monitor, alloydbomni_node_manager y pgbackrest en todos los primary_instance_nodes:

    sudo dnf install -y alloydbomni18 alloydbomni_monitor alloydbomni_node_manager pgbackrest
    
  3. (Opcional) Si no tienes nodos del balanceador de cargas (load_balancer_nodes), instala pgbouncer y keepalived:

    sudo dnf install -y pgbouncer keepalived
    
  4. Una vez que se instala alloydbomni_node_manager, se debe configurar alloydbomni_node_manager antes de iniciar los servicios. Asegúrate de que el archivo de especificación de implementación (deployment_spec.yaml) se copie en todas las VMs respectivas:

    sudo /usr/local/bin/alloydbomni_nm_config apply -d deployment_spec.yaml
    

Instala los componentes de AlloyDB Omni en los nodos del administrador de clústeres

  1. En todos los nodos del administrador de clústeres, crea un archivo de configuración del repositorio YUM llamado /etc/yum.repos.d/alloydb-orchestrator.repo:

    [alloydbomni_orchestrator]
    name=AlloyDB Omni Orchestrator
    baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instala el administrador de clústeres:

    sudo dnf install -y alloydbomni_cluster_manager
    
  3. Una vez que se instala alloydbomni_cluster_manager y se arranca etcd, se debe configurar alloydbomni_cluster_manager antes de iniciar los servicios.

    sudo /usr/local/bin/alloydbomni_cm_config apply -d deployment_spec.yaml
    

Instala los componentes de AlloyDB Omni en los nodos del balanceador de cargas

  1. En todos los nodos del balanceador de cargas, crea un archivo de configuración del repositorio YUM llamado /etc/yum.repos.d/alloydb-omni-lb.repo:

    [pgbouncer]
    name=AlloyDB Omni Common
    baseurl=ALLOYDB_OMNI_COMMON_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    priority=1
    
    [alloydbomni_node_manager]
    name=AlloyDB Omni Orchestrator
    baseurl=ALLOYDB_OMNI_ORCHESTRATOR_REPOSITORY_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=REPO_GPG_KEY
    
  2. Instala los componentes del balanceador de cargas:

    sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxy
    
  3. Una vez que se instala alloydbomni_node_manager y se arranca etcd, se debe configurar alloydbomni_node_manager antes de iniciar los servicios. Asegúrate de que el archivo de especificación de implementación (deployment_spec.yaml) se copie en todas las VMs respectivas:

    sudo /usr/local/bin/alloydbomni_nm_config apply -d deployment_spec.yaml
    

Resumen de los componentes de AlloyDB Omni instalados

El proceso de instalación implementa varios paquetes RPM clave según el tipo de nodo:

Tipo de nodo Componentes instalados Notas
Nodos de la instancia principal alloydbomniPG_VERSION, alloydbomni_monitor, alloydbomni_node_manager, pgbouncer, pgbackrest Componentes para el motor de base de datos, la supervisión y la administración.
Nodos del balanceador de cargas haproxy Es opcional. Se omite la instalación si los nodos del balanceador de cargas no están disponibles.
Nodos del administrador de clústeres alloydbomni_cluster_manager Se puede instalar en los nodos de la base de datos si no hay nodos dedicados disponibles. Si no se especifican los nodos del administrador de clústeres, el componente del administrador de clústeres se instala en los primary_instance_nodes.
Nodos etcd etcd Se puede instalar en los nodos del administrador de clústeres si es necesario. Si no se especifican los nodos etcd, etcd se instala en los cluster_manager_nodes.

Desinstala los componentes

Si necesitas quitar la instalación de AlloyDB Omni de tu entorno, por ejemplo, para dar de baja un clúster o prepararte para una reinstalación limpia, puedes desinstalar todos sus componentes de software. Para desinstalar AlloyDB Omni, usa Ansible o quita de forma manual los RPM de cada nodo.

Desinstala los componentes de AlloyDB Omni con Ansible

Para quitar los componentes de la pila de software de AlloyDB Omni con Ansible, usa tu archivo de inventario existente y una guía que haga referencia al rol google.alloydbomni_orchestrator.uninstall.

  1. Crea una guía llamada uninstall.yaml.

    - name: Uninstall AlloyDB Omni cluster
      hosts: all
      become: true
      vars:
        ansible_user: SSH_USER
        ansible_ssh_private_key_file: SSH_KEY_PATH
      roles:
        - role: google.alloydbomni_orchestrator.uninstall
    

    Reemplaza lo siguiente:

    • SSH_USER: Es el nombre de usuario que usas para conectarte a los nodos de tu clúster con SSH.
    • SSH_KEY_PATH: Es la ruta de acceso al archivo de clave privada SSH en tu nodo de control, por ejemplo, ~/.ssh/id_rsa.
  2. Ejecuta la guía. Debes pasar cleanup_data=true y cleanup_config=true como variables adicionales para quitar los archivos de configuración y el directorio de datos.

    ansible-playbook -i deployment_spec.yaml uninstall.yaml -e "cleanup_data=true cleanup_config=true"
    

Desinstala los componentes de AlloyDB Omni de forma manual

Si usas la CLI del organizador de AlloyDB Omni, debes quitar de forma manual los RPM de cada nodo.

  1. En todos los nodos de la base de datos, ejecuta el siguiente comando:

    sudo dnf remove -y alloydbomni_node_manager alloydbomniPG_VERSION alloydbomni_monitor pgbackrest keepalived pgbouncer
    
  2. En todos los nodos del balanceador de cargas, ejecuta el siguiente comando:

    sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncer
    
  3. En todos los nodos del administrador de clústeres, ejecuta el siguiente comando:

    sudo dnf remove -y alloydbomni_cluster_manager
    
  4. Opcional: En todos los nodos etcd, ejecuta el siguiente comando para desinstalar etcd y limpiar los datos de etcd:

    sudo dnf remove -y etcd
    sudo rm -rf /var/lib/etcd/data
    

¿Qué sigue?