Avant de commencer
Avant d'installer les composants, assurez-vous d'avoir rempli les prérequis suivants :
- Installer l'orchestrateur : assurez-vous que la collection Ansible ou l'CLI de l'orchestrateur AlloyDB Omni est installée sur votre nœud de contrôle.
- Provisionner des machines : vous devez disposer de machines virtuelles RHEL9 provisionnées en fonction de l'architecture choisie, par exemple autonome ou à haute disponibilité.
- Configurer le réseau et le pare-feu : assurez-vous que tous les ports requis sont ouverts entre vos nœuds. Cela inclut
5432pour le trafic de la base de données,2379/2380pouretcdet les ports de gestion6703,6702et6700utilisés par le gestionnaire de cluster et le gestionnaire de nœuds. - Vérifier les dépendances des packages logiciels : si vous gérez des packages logiciels via un dépôt Yum privé, suivez les instructions de gestion de votre dépôt pour inclure les fichiers RPM dépendants dans le dépôt.
Préparer l'inventaire des spécifications de déploiement
L'orchestrateur utilise un fichier de spécification de déploiement au format d'inventaire Ansible pour comprendre la topologie de votre cluster. Créez un fichier nommé deployment_spec.yaml avec les détails de votre nœud.
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:
Remplacez les éléments suivants :
MANAGEMENT_CLUSTER_NAME: nom de votre cluster de gestion. Il peut être identique au nom de votre cluster de bases de données s'ils sont installés sur les mêmes nœuds, par exemplemy-management-cluster.SETUP_ETCD: indique si l'orchestrateur doit configurer et amorcer le clusteretcd. Lorsque la valeur est définie surtrue, l'orchestrateur effectue la configuration et l'initialisation initiales d'etcdsur les nœudsetcddésignés. Si aucun nœudetcdn'est défini dans votre deployment_spec, la configuration d'etcdest effectuée par défaut sur les nœuds du gestionnaire de cluster. Ce paramètre correspond à la cléetcd.setupdans la spécification de déploiement.FORCE_OVERWRITE_ETCD: détermine s'il faut remplacer un fichier de configurationetcdexistant lors du processus de configuration. Définissez la valeur surtruepour remplacer le fichier de configuration existant sur les nœuds cibles. Sinon, définissez la valeur surfalse(par défaut) pour conserver la configuration existante et éviter les interruptions de service involontaires.ETCD_VERSION: version du package etcd à installer, par exemple3.4.13.ETCD_REPOSITORY_URL: URL du dépôt contenant les RPMetcd.PG_VERSION: version principale de PostgreSQL de votre installation AlloyDB Omni, par exemple18.ALLOYDB_OMNI_VERSION: version du moteur de base de données AlloyDB Omni à installer, par exemple18.1.0. Si ce paramètre est omis, l'orchestrateur installe la dernière version disponible.ALLOYDB_OMNI_COMMON_REPO_URL: URL du dépôt commun contenant les RPM AlloyDB Omni, monitor, PgBouncer et pgBackRest.GPG_KEY: emplacement de la clé publique de Google pour la validation GNU Privacy Guard (GPG), par exemplehttps://dl.google.com/linux/linux_signing_key.pub. Vous pouvez également définir ce paramètre en tant que chemin d'accès si la clé est téléchargée dans un fichier sur toutes les VM, par exemple/tmp/linux_signing_key.pub.ALLOYDB_OMNI_MONITOR_VERSION: version du package de surveillance AlloyDB Omni à installer. La valeur par défaut est la dernière version disponible.ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION: version du gestionnaire de cluster AlloyDB Omni à installer. Si ce paramètre est omis, l'orchestrateur installe la dernière version disponible.ALLOYDB_OMNI_ORCHESTRATOR_REPO_URL: URL du dépôt contenant les RPM du gestionnaire de cluster et du gestionnaire de nœuds AlloyDB Omni.ALLOYDB_OMNI_NODE_MANAGER_VERSION: version du gestionnaire de nœuds AlloyDB Omni à installer. Si ce paramètre est omis, l'orchestrateur installe la dernière version disponible.ALLOYDB_OMNI_PGBOUNCER_VERSION: version du package PgBouncer à installer.ALLOYDB_OMNI_PGBACKREST_VERSION: version du package pgBackRest à installer.DB_HOST_1,DB_HOST_2,DB_HOST_3: adresses IP ou noms de domaine complets (FQDN) des machines virtuelles désignées comme nœuds de base de données.LB_HOST_1,LB_HOST_2: adresses IP ou noms de domaine complets (FQDN) des machines virtuelles désignées comme nœuds d'équilibrage de charge.ETCD_HOST_1,ETCD_HOST_2,ETCD_HOST_3: adresses IP ou noms de domaine complets (FQDN) des machines virtuelles désignées comme nœudsetcd.CM_HOST_1,CM_HOST_2,CM_HOST_3: adresses IP ou noms de domaine complets (FQDN) des machines virtuelles désignées comme nœuds du gestionnaire de cluster.
Installer les composants
Vous pouvez installer les composants AlloyDB Omni et leurs dépendances à l'aide d'Ansible ou en installant manuellement les packages logiciels sur chaque nœud.
Installer les composants AlloyDB Omni à l'aide d'Ansible
La méthode d'installation recommandée consiste à utiliser le rôle Ansible fourni.
Créez un playbook nommé
install.yamlqui référence le rôle d'installation de la collection d'orchestrateurs.- name: Install AlloyDB Omni cluster components hosts: all vars: ansible_become: true ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.installRemplacez les éléments suivants :
SSH_USER: nom d'utilisateur que vous utilisez pour vous connecter aux nœuds de votre cluster à l'aide de SSH.SSH_KEY_PATH: chemin d'accès au fichier de clé privée SSH sur votre nœud de contrôle, par exemple~/.ssh/id_rsa.
Exécutez le playbook à l'aide de votre fichier d'inventaire pour télécharger et installer les RPM sur tous les nœuds spécifiés.
ansible-playbook -i deployment_spec.yaml install.yaml
Installer manuellement les composants AlloyDB Omni
Si vous n'utilisez pas Ansible, vous devez installer manuellement les RPM sur chaque nœud de votre cluster.
REPO_GPG_KEY: emplacement de la clé publique de Google pour la validation GNU Privacy Guard (GPG), par exemplehttps://dl.google.com/linux/linux_signing_key.pub. Vous pouvez également définir ce paramètre en tant que chemin d'accès si la clé est téléchargée dans un fichier sur toutes les VM, par exemplefile:///tmp/linux_signing_key.pub.
Installer les composants AlloyDB Omni sur les nœuds etcd
Sur tous les nœuds
etcd, créez un fichier de configuration de dépôt YUM nommé/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_KEYInstallez
etcd:sudo dnf install -y etcdAmorcez
etcden modifiant le fichier de configuration. Vous devez amorceretcdavant d'installer les composants AlloyDB Omni.Sur
etcd_nodes, modifiez/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.keyOù :
ETCD_HOST: hôteetcdactuel.ETCD_HOST_IP: adresse IP de l'hôteetcdactuel.ETCD_HOST_1: nom du premier nœud du clusteretcd.ETCD_HOST_IP_1: adresse IP du premier nœud du clusteretcd.ETCD_HOST_2: nom du deuxième nœud du clusteretcd.ETCD_HOST_IP_2: adresse IP du deuxième nœud du clusteretcd.ETCD_HOST_3: nom du troisième nœud du clusteretcd.ETCD_HOST_IP_3: adresse IP du troisième nœud du clusteretcd.CLUSTER_NAME: nom du cluster tel qu'il apparaît dans le plan de contrôle.
Configurez le pare-feu pour autoriser la communication TCP sur les ports
2379et2380.Démarrez etcd :
sudo systemctl enable etcd sudo systemctl start etcd
Installer les composants AlloyDB Omni sur les nœuds du gestionnaire de cluster
Sur tous les nœuds du gestionnaire de cluster, créez un fichier de configuration de dépôt YUM nommé
/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_KEYInstallez le gestionnaire de cluster :
sudo dnf install -y alloydbomni_cluster_managerDémarrez le gestionnaire de cluster :
sudo systemctl enable alloydbomni_cluster_manager sudo systemctl start alloydbomni_cluster_manager
Installer les composants AlloyDB Omni sur les nœuds de base de données
Sur tous les nœuds de base de données, créez un fichier de configuration de dépôt YUM nommé
/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_KEYInstallez les composants :
sudo dnf install -y alloydbomniPG_VERSION alloydbomni_monitor alloydbomni_node_manager pgbackrestDémarrez le gestionnaire de nœuds :
sudo systemctl enable alloydbomni_node_manager sudo systemctl start alloydbomni_node_manager(Facultatif) Si vous n'utilisez pas de nœuds d'équilibrage de charge distincts, installez
pgbounceretkeepalived:sudo dnf install -y pgbouncer keepalived
Installer les composants AlloyDB Omni sur les nœuds d'équilibrage de charge
Sur tous les nœuds d'équilibrage de charge, créez un fichier de configuration de dépôt YUM nommé
/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_KEYInstallez les composants de l'équilibreur de charge :
sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxyDémarrez le gestionnaire de nœuds :
sudo systemctl enable alloydbomni_node_manager sudo systemctl start alloydbomni_node_manager
Résumé des composants AlloyDB Omni installés
Le processus d'installation déploie plusieurs packages RPM clés en fonction du type de nœud :
| Type de nœud | Composants installés | Remarques |
|---|---|---|
| Nœuds d'instance principaux | alloydbomniPG_VERSION, alloydbomni_monitor, alloydbomni_node_manager, pgbouncer, pgbackrest |
Composants pour le moteur de base de données, la surveillance et la gestion. |
| Nœuds d'équilibrage de charge | haproxy |
Facultatif. L'installation est ignorée si les nœuds d'équilibrage de charge ne sont pas disponibles. |
| Nœuds du gestionnaire de cluster | alloydbomni_cluster_manager |
Peut être installé sur des nœuds de base de données si aucun nœud dédié n'est disponible. Si aucun nœud de gestionnaire de cluster n'est spécifié, le composant de gestionnaire de cluster est installé sur les primary_instance_nodes. |
| Nœuds etcd | etcd |
Peut être installé sur les nœuds du gestionnaire de cluster si nécessaire. Si aucun nœud etcd n'est spécifié, etcd est installé sur les cluster_manager_nodes. |
Désinstaller les composants
Si vous devez supprimer l'installation AlloyDB Omni de votre environnement (par exemple, pour désactiver un cluster ou préparer une réinstallation propre), vous pouvez désinstaller tous ses composants logiciels. Vous pouvez désinstaller AlloyDB Omni à l'aide d'Ansible ou en supprimant manuellement les RPM de chaque nœud.
Désinstaller les composants AlloyDB Omni à l'aide d'Ansible
Pour supprimer les composants de la pile logicielle AlloyDB Omni à l'aide d'Ansible, utilisez votre fichier d'inventaire existant et un playbook qui référence le rôle google.alloydbomni_orchestrator.uninstall.
Créez un playbook nommé
uninstall.yaml.- name: Uninstall AlloyDB Omni cluster hosts: all vars: ansible_become: true ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.uninstallRemplacez les éléments suivants :
SSH_USER: nom d'utilisateur que vous utilisez pour vous connecter aux nœuds de votre cluster à l'aide de SSH.SSH_KEY_PATH: chemin d'accès au fichier de clé privée SSH sur votre nœud de contrôle, par exemple~/.ssh/id_rsa.
Exécutez le playbook. Vous devez transmettre
cleanup_data=trueetcleanup_config=trueen tant que variables supplémentaires pour supprimer les fichiers de configuration et le répertoire de données.ansible-playbook -i deployment_spec.yaml uninstall.yaml -e "cleanup_data=true cleanup_config=true"
Désinstaller manuellement les composants AlloyDB Omni
Si vous utilisez l'CLI de l'orchestrateur AlloyDB Omni, vous devez supprimer manuellement les RPM de chaque nœud.
Sur tous les nœuds de base de données, exécutez la commande suivante :
sudo dnf remove -y alloydbomni_node_manager alloydbomniPG_VERSION alloydbomni_monitor pgbackrest keepalived pgbouncerSur tous les nœuds d'équilibrage de charge, exécutez la commande suivante :
sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncerSur tous les nœuds du gestionnaire de cluster, exécutez la commande suivante :
sudo dnf remove -y alloydbomni_cluster_managerFacultatif : Sur tous les nœuds etcd, exécutez la commande suivante pour désinstaller etcd et nettoyer les données etcd :
sudo dnf remove -y etcd sudo rm -rf /var/lib/etcd/data
Étape suivante
Pour utiliser vos propres fichiers de certificat et de clé pour TLS, consultez Comment AlloyDB Omni utilise TLS.