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
5432para el tráfico de la base de datos,2379/2380paraetcdy los puertos de administración6703,6702y6700que 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ústeretcd. Cuando se establece entrue, el organizador realiza la configuración y la inicialización iniciales deetcden los nodosetcddesignados. Si no se definen nodosetcden tu deployment_spec, se configuraetcdde forma predeterminada en los nodos del administrador de clústeres. Este parámetro corresponde a la claveetcd.setupen la especificación de implementación.FORCE_OVERWRITE_ETCD: Determina si se debe reemplazar un archivo de configuraciónetcdexistente durante el proceso de configuración. Establécelo entruepara anular el archivo de configuración existente en los nodos de destino; de lo contrario, establécelo enfalse(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 deetcd.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 nodosetcd.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.
Crea una guía llamada
install.yamlque 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.installReemplaza 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.
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 |
alloydbomni18alloydbomni_monitoralloydbomni_node_managerkeepalivedpgbackrestpgbouncer |
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_managerhaproxykeepalivedpgbouncer |
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
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_KEYInstala
etcd:sudo dnf install -y etcdArranca
etcdeditando el archivo de configuración. Debes arrancaretcdantes 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.keyAquí:
ETCD_HOST: Es el hostetcdactual.ETCD_HOST_IP: Es la IP del hostetcdactual.ETCD_HOST_1: Es el nombre del primer nodo del clústeretcd.ETCD_HOST_IP_1: Es la dirección IP del primer nodo del clústeretcd.ETCD_HOST_2: Es el nombre del segundo nodo del clústeretcd.ETCD_HOST_IP_2: Es la dirección IP del segundo nodo del clústeretcd.ETCD_HOST_3: Es el nombre del tercer nodo del clústeretcd.ETCD_HOST_IP_3: Es la dirección IP del tercer nodo del clústeretcd.CLUSTER_NAME: Es el nombre del clúster según el plano de control.
Configura el firewall para permitir la comunicación TCP en los puertos
2379y2380.Inicia etcd:
sudo systemctl enable etcd sudo systemctl start etcd
Instala los componentes de AlloyDB Omni en los nodos de la instancia principal
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_KEYInstala
alloydbomni18,alloydbomni_monitor,alloydbomni_node_managerypgbackresten todos losprimary_instance_nodes:sudo dnf install -y alloydbomni18 alloydbomni_monitor alloydbomni_node_manager pgbackrest(Opcional) Si no tienes nodos del balanceador de cargas (
load_balancer_nodes), instalapgbouncerykeepalived:sudo dnf install -y pgbouncer keepalivedUna vez que se instala
alloydbomni_node_manager, se debe configuraralloydbomni_node_managerantes 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
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_KEYInstala el administrador de clústeres:
sudo dnf install -y alloydbomni_cluster_managerUna vez que se instala
alloydbomni_cluster_managery se arrancaetcd, se debe configuraralloydbomni_cluster_managerantes 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
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_KEYInstala los componentes del balanceador de cargas:
sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxyUna vez que se instala
alloydbomni_node_managery se arrancaetcd, se debe configuraralloydbomni_node_managerantes 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.
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.uninstallReemplaza 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.
Ejecuta la guía. Debes pasar
cleanup_data=trueycleanup_config=truecomo 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.
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 pgbouncerEn todos los nodos del balanceador de cargas, ejecuta el siguiente comando:
sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncerEn todos los nodos del administrador de clústeres, ejecuta el siguiente comando:
sudo dnf remove -y alloydbomni_cluster_managerOpcional: 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?
Para traer tus propios archivos de certificado y claves para TLS, consulta Cómo usa AlloyDB Omni TLS.