Installer AlloyDB Omni à l'aide de l'orchestrateur RPM

Sélectionnez une version de la documentation :

Cette page explique comment installer la pile logicielle AlloyDB Omni et ses composants de gestion à l'aide de l'orchestrateur AlloyDB Omni.

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 5432 pour le trafic de la base de données, 2379/2380 pour etcd et les ports de gestion 6703, 6702 et 6700 utilisé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 exemple my-management-cluster.
  • SETUP_ETCD : indique si l'orchestrateur doit configurer et amorcer le cluster etcd. Lorsque la valeur est définie sur true, l'orchestrateur effectue la configuration et l'initialisation initiales d'etcd sur les nœuds etcd désignés. Si aucun nœud etcd n'est défini dans votre deployment_spec, la configuration d'etcd est effectuée par défaut sur les nœuds du gestionnaire de cluster. Ce paramètre correspond à la clé etcd.setup dans la spécification de déploiement.
  • FORCE_OVERWRITE_ETCD : détermine s'il faut remplacer un fichier de configuration etcd existant lors du processus de configuration. Définissez la valeur sur true pour remplacer le fichier de configuration existant sur les nœuds cibles. Sinon, définissez la valeur sur false(par défaut) pour conserver la configuration existante et éviter les interruptions de service involontaires.
  • ETCD_VERSION : version du package etcd à installer, par exemple 3.4.13.
  • ETCD_REPOSITORY_URL : URL du dépôt contenant les RPM etcd.
  • PG_VERSION : version principale de PostgreSQL de votre installation AlloyDB Omni, par exemple 18.
  • ALLOYDB_OMNI_VERSION : version du moteur de base de données AlloyDB Omni à installer, par exemple 18.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 exemple https://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œuds etcd.
  • 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.

  1. Créez un playbook nommé install.yaml qui 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.install
    

    Remplacez 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.
  2. 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 exemple https://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 file:///tmp/linux_signing_key.pub.

Installer les composants AlloyDB Omni sur les nœuds etcd

  1. 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_KEY
    
  2. Installez etcd :

    sudo dnf install -y etcd
    
  3. Amorcez etcd en modifiant le fichier de configuration. Vous devez amorcer etcd avant 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.key
    

    Où :

    • ETCD_HOST : hôte etcd actuel.
    • ETCD_HOST_IP : adresse IP de l'hôte etcd actuel.
    • ETCD_HOST_1 : nom du premier nœud du cluster etcd.
    • ETCD_HOST_IP_1 : adresse IP du premier nœud du cluster etcd.
    • ETCD_HOST_2 : nom du deuxième nœud du cluster etcd.
    • ETCD_HOST_IP_2 : adresse IP du deuxième nœud du cluster etcd.
    • ETCD_HOST_3 : nom du troisième nœud du cluster etcd.
    • ETCD_HOST_IP_3 : adresse IP du troisième nœud du cluster etcd.
    • CLUSTER_NAME : nom du cluster tel qu'il apparaît dans le plan de contrôle.
  4. Configurez le pare-feu pour autoriser la communication TCP sur les ports 2379 et 2380.

  5. Démarrez etcd :

    sudo systemctl enable etcd
    sudo systemctl start etcd
    

Installer les composants AlloyDB Omni sur les nœuds du gestionnaire de cluster

  1. 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_KEY
    
  2. Installez le gestionnaire de cluster :

    sudo dnf install -y alloydbomni_cluster_manager
    
  3. Dé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

  1. 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_KEY
    
  2. Installez les composants :

    sudo dnf install -y alloydbomniPG_VERSION alloydbomni_monitor alloydbomni_node_manager pgbackrest
    
  3. Démarrez le gestionnaire de nœuds :

    sudo systemctl enable alloydbomni_node_manager
    sudo systemctl start alloydbomni_node_manager
    
  4. (Facultatif) Si vous n'utilisez pas de nœuds d'équilibrage de charge distincts, installez pgbouncer et keepalived :

    sudo dnf install -y pgbouncer keepalived
    

Installer les composants AlloyDB Omni sur les nœuds d'équilibrage de charge

  1. 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_KEY
    
  2. Installez les composants de l'équilibreur de charge :

    sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxy
    
  3. Dé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.

  1. 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.uninstall
    

    Remplacez 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.
  2. Exécutez le playbook. Vous devez transmettre cleanup_data=true et cleanup_config=true en 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.

  1. 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 pgbouncer
    
  2. Sur tous les nœuds d'équilibrage de charge, exécutez la commande suivante :

    sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncer
    
  3. Sur tous les nœuds du gestionnaire de cluster, exécutez la commande suivante :

    sudo dnf remove -y alloydbomni_cluster_manager
    
  4. Facultatif : 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