Mettre à jour les composants de votre cluster d'orchestration RPM

Sélectionnez une version de la documentation :

Cette page explique comment mettre à jour les packages logiciels, les configurations de ressources et l'orchestrateur RPM de votre cluster de bases de données AlloyDB Omni dans des environnements Red Hat Enterprise Linux (RHEL).

Avant de commencer

Assurez-vous de disposer du fichier de spécification de déploiement, deployment_spec.yaml, qui contient tous les détails de vos composants de nœud et de cluster.

Mettre à niveau l'orchestrateur

L'orchestrateur gère vos clusters de bases de données. Vous devez mettre à niveau l'orchestrateur sur votre nœud de contrôle avant de mettre à niveau les autres composants du cluster.

Ansible

Si vous gérez votre infrastructure à l'aide de playbooks Ansible, procédez comme suit :

  1. Vérifiez la version installée de la collection google.alloydbomni_orchestrator sur votre nœud de contrôle en exécutant la commande suivante :

    ansible-galaxy collection list | grep alloydbomni_orchestrator
  2. Pour remplacer votre version existante, téléchargez la dernière version stable du fichier tar de la collection et effectuez une installation forcée :

    ansible-galaxy collection install --force google-alloydbomni_orchestrator-NEW_VERSION.tar.gz

    Remplacez NEW_VERSION par la version de la nouvelle collection.

alloydbctl

Si vous utilisez l'outil de ligne de commande alloydbctl, procédez comme suit :

  1. Pour vérifier la version du package installé de l'orchestrateur RPM alloydbomni_orchestrator sur votre nœud de contrôle, exécutez la commande suivante :

    rpm -q alloydbomni_orchestrator
  2. Mettez à niveau le package logiciel sur votre nœud de contrôle à l'aide du gestionnaire de packages :

    sudo dnf upgrade alloydbomni_orchestrator

Mettre à jour les composants du cluster à l'aide d'Ansible

Google vous recommande d'effectuer la mise à jour à l'aide du rôle Ansible fourni.

  1. Créez un playbook nommé update.yaml qui référence le rôle update de la collection d'orchestrateurs. Vous devez définir la valeur du paramètre update_action sur update_rpm.

    Par défaut, le rôle update met à jour le plan de contrôle et le plan de données. Pour mettre à jour uniquement les composants du plan de contrôle ou du plan de données, définissez le paramètre de l'autre plan sur false.

    ---
    - hosts: all
      become: true
      vars:
        update_action: "update_rpm"
        ansible_user: SSH_USER
        ansible_ssh_private_key_file: PRIVATE_KEY_PATH
        update_control_plane: true # Optional argument if you want to only update data plane components
        update_data_plane: true # Optional argument if you want to only update control plane components
      roles:
        - role: google.alloydbomni_orchestrator.update
    

    Remplacez les éléments suivants :

    • SSH_USER: nom d'utilisateur SSH ayant accès aux nœuds de votre cluster.
    • PRIVATE_KEY_PATH: chemin d'accès au fichier de clé SSH privée.
    • update_action : champ d'application de la mise à jour. Définissez cette valeur sur update_rpm.
    • update_control_plane : facultatif. Définissez la valeur sur false pour mettre à jour uniquement les composants du plan de données. La valeur par défaut est true.
    • update_data_plane : facultatif. Définissez la valeur sur false pour mettre à jour uniquement les composants du plan de contrôle. La valeur par défaut est true.
  2. Pour effectuer une mise à jour sur tous les nœuds spécifiés, exécutez le playbook avec votre fichier d'inventaire :

    ansible-playbook -i DEPLOYMENT_SPEC update.yaml

    Remplacez DEPLOYMENT_SPEC par le chemin d'accès à votre fichier de spécification de déploiement.

    Assurez-vous que votre fichier de spécification de déploiement définit la version installée pour chaque composant de votre cluster. Le rôle de mise à jour met à jour les composants en fonction de la configuration de leurs versions dans le fichier d'inventaire :

    • Si la version d'un composant correspond à la version installée, le rôle de mise à jour n'apporte aucune modification à ce composant.
    • Si vous remplacez la version d'un composant par une version cible spécifique, le composant est mis à jour vers cette version.
    • Si vous laissez le champ Version d'un composant vide, le composant est mis à jour vers la dernière version disponible dans le dépôt configuré.

Mettre à jour manuellement les composants du cluster

Si vous n'utilisez pas l'orchestrateur Ansible ou si vous souhaitez un contrôle précis sur le processus de mise à jour, vous pouvez mettre à jour manuellement les composants RPM pour chaque nœud de votre cluster. Il est recommandé d'effectuer les mises à jour logicielles pendant l'intervalle de maintenance planifié.

Le processus de mise à jour manuelle implique la mise à jour des deux plans suivants :

  • Plan de contrôle (composants de l'orchestrateur RPM) : le plan de contrôle est la couche qui contrôle et gère vos clusters de bases de données. Dans un déploiement RPM, le plan de contrôle inclut cluster_manager, node_manager et etcd.

  • Plan de données (cluster de bases de données) : le plan de données contient les composants du cluster de bases de données, y compris le moteur de base de données AlloyDB Omni lui-même, monitor, ainsi que des services tels que pgBackRest, PgBouncer, keepalived et HAProxy. La mise à niveau du plan de données applique directement les mises à jour de version de la base de données, les correctifs de sécurité et les améliorations de performances à vos clusters de bases de données.

Quelle que soit votre architecture de référence, les étapes de mise à jour du plan de contrôle restent les mêmes. Vous devez mettre à jour les composants du plan de contrôle avant de mettre à jour le plan de données. Les étapes de mise à jour de votre plan de données varient en fonction de l'architecture de déploiement de votre base de données.

Pour mettre à jour un service ou un package, procédez comme suit :

  1. Arrêtez le service :

    sudo systemctl stop SERVICE
  2. Mettez à niveau le package à l'aide de l'une des commandes suivantes :

    • Pour effectuer la mise à jour vers la dernière version disponible :

      sudo dnf upgrade PACKAGE
    • Pour effectuer la mise à jour vers une version spécifique :

      sudo dnf upgrade PACKAGE-VERSION
  3. Démarrez le service :

    sudo systemctl start SERVICE

Remplacez les éléments suivants :

  • SERVICE: nom du service à arrêter et à démarrer, par exemple pgbouncer ou keepalived.
  • PACKAGE: nom du package à mettre à jour, par exemple pgbouncer ou alloydbomni18.
  • VERSION : version cible du package à installer, par exemple 18.3.0 ou 18.3.0-2.rhel9.

Mettre à jour manuellement le plan de contrôle

Pour mettre à jour le plan de contrôle, procédez comme suit sur les nœuds désignés :

  1. Pour arrêter le gestionnaire de cluster sur tous les nœuds du gestionnaire de cluster, exécutez la commande suivante :

    sudo systemctl stop alloydbomni_cluster_manager
  2. Pour mettre à jour etcd sur tous les nœuds DCS, exécutez les commandes suivantes dans l'ordre :

    sudo systemctl stop etcd
    sudo dnf upgrade etcd
    sudo systemctl start etcd
  3. Pour mettre à jour le gestionnaire de nœuds sur tous les nœuds, exécutez les commandes suivantes dans l'ordre :

    sudo systemctl stop alloydbomni_node_manager
    sudo dnf upgrade alloydbomni_node_manager
    sudo systemctl start alloydbomni_node_manager
  4. Après avoir mis à jour les composants du plan de contrôle, vous pouvez mettre à jour le gestionnaire de cluster sur tous les nœuds du gestionnaire de cluster et le redémarrer si nécessaire.

    sudo dnf upgrade alloydbomni_cluster_manager
    sudo systemctl start alloydbomni_cluster_manager

Mettre à jour manuellement le plan de données

Pour mettre à jour le plan de données, mettez à jour la base de données et les services d'assistance dans l'ordre spécifié pour votre architecture de déploiement. Pour chaque service, vous devez suivre une séquence stricte : arrêter le service, mettre à niveau le package et démarrer le service.

Suivez les instructions de votre déploiement en fonction de l'architecture de référence.

  1. Récupérez l'état de votre cluster à l'aide de la commande alloydbctl get et définissez le format de sortie sur YAML :

    alloydbctl get -d DEPLOYMENT_SPEC -t RESOURCE_TYPE -n CLUSTER_NAME -o yaml

    Remplacez les éléments suivants :

    • RESOURCE_TYPE: type de ressource à inspecter, par exemple DBCluster.
    • CLUSTER_NAME : nom de votre cluster de bases de données.
    • DEPLOYMENT_SPEC: chemin d'accès à votre fichier de spécification de déploiement.
  2. Dans la sortie YAML, notez instanceList dans la section status.

    Recherchez le nœud dont le rôle est défini sur Primary. Tous les autres nœuds de base de données sont vos nœuds de secours.

  3. Mettez d'abord à jour tous les composants du plan de données qui s'exécutent sur les nœuds de secours, puis mettez à jour ces composants sur le nœud principal. Procédez comme suit pour mettre à jour les composants du plan de données sur chaque nœud.

    1. Pour mettre à jour AlloyDB Omni, exécutez les commandes suivantes dans l'ordre :

      sudo systemctl stop alloydbomni18
      sudo dnf upgrade alloydbomni18
      sudo systemctl start alloydbomni18
    2. Pour mettre à jour le moniteur, exécutez les commandes suivantes dans l'ordre :

      sudo systemctl stop alloydbomni_monitor
      sudo dnf upgrade alloydbomni_monitor
      sudo systemctl start alloydbomni_monitor
    3. Pour mettre à jour pgBackRest, exécutez les commandes suivantes dans l'ordre :

      sudo dnf upgrade pgbackrest
    4. Pour mettre à jour PgBouncer, exécutez les commandes suivantes dans l'ordre :

      sudo systemctl stop pgbouncer
      sudo dnf upgrade pgbouncer
      sudo systemctl start pgbouncer
    5. Pour mettre à jour keepalived, exécutez les commandes suivantes dans l'ordre :

      sudo systemctl stop keepalived
      sudo dnf upgrade keepalived
      sudo systemctl start keepalived
    6. Pour mettre à jour HAProxy, exécutez les commandes suivantes dans l'ordre :

      sudo systemctl stop haproxy
      sudo dnf upgrade haproxy
      sudo systemctl start haproxy