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 :
Vérifiez la version installée de la collection
google.alloydbomni_orchestratorsur votre nœud de contrôle en exécutant la commande suivante :ansible-galaxy collection list | grep alloydbomni_orchestratorPour 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.gzRemplacez
NEW_VERSIONpar la version de la nouvelle collection.
alloydbctl
Si vous utilisez l'outil de ligne de commande alloydbctl, procédez comme suit :
Pour vérifier la version du package installé de l'orchestrateur RPM
alloydbomni_orchestratorsur votre nœud de contrôle, exécutez la commande suivante :rpm -q alloydbomni_orchestratorMettez à 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.
Créez un playbook nommé
update.yamlqui référence le rôleupdatede la collection d'orchestrateurs. Vous devez définir la valeur du paramètreupdate_actionsurupdate_rpm.Par défaut, le rôle
updatemet à 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 surfalse.--- - 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.updateRemplacez 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 surupdate_rpm.update_control_plane: facultatif. Définissez la valeur surfalsepour mettre à jour uniquement les composants du plan de données. La valeur par défaut esttrue.update_data_plane: facultatif. Définissez la valeur surfalsepour mettre à jour uniquement les composants du plan de contrôle. La valeur par défaut esttrue.
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.yamlRemplacez
DEPLOYMENT_SPECpar 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_manageretetcd.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 quepgBackRest,PgBouncer,keepalivedetHAProxy. 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 :
Arrêtez le service :
sudo systemctl stop SERVICEMettez à 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 PACKAGEPour effectuer la mise à jour vers une version spécifique :
sudo dnf upgrade PACKAGE-VERSION
Démarrez le service :
sudo systemctl start SERVICE
Remplacez les éléments suivants :
SERVICE: nom du service à arrêter et à démarrer, par exemplepgbounceroukeepalived.PACKAGE: nom du package à mettre à jour, par exemplepgbounceroualloydbomni18.VERSION: version cible du package à installer, par exemple18.3.0ou18.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 :
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_managerPour mettre à jour
etcdsur tous les nœuds DCS, exécutez les commandes suivantes dans l'ordre :sudo systemctl stop etcdsudo dnf upgrade etcdsudo systemctl start etcdPour 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_managersudo dnf upgrade alloydbomni_node_managersudo systemctl start alloydbomni_node_managerAprè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_managersudo 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.
Récupérez l'état de votre cluster à l'aide de la commande
alloydbctl getet définissez le format de sortie sur YAML :alloydbctl get -d DEPLOYMENT_SPEC -t RESOURCE_TYPE -n CLUSTER_NAME -o yamlRemplacez les éléments suivants :
RESOURCE_TYPE: type de ressource à inspecter, par exempleDBCluster.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.
Dans la sortie YAML, notez
instanceListdans la sectionstatus.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.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.
Pour mettre à jour AlloyDB Omni, exécutez les commandes suivantes dans l'ordre :
sudo systemctl stop alloydbomni18sudo dnf upgrade alloydbomni18sudo systemctl start alloydbomni18Pour mettre à jour le moniteur, exécutez les commandes suivantes dans l'ordre :
sudo systemctl stop alloydbomni_monitorsudo dnf upgrade alloydbomni_monitorsudo systemctl start alloydbomni_monitorPour mettre à jour pgBackRest, exécutez les commandes suivantes dans l'ordre :
sudo dnf upgrade pgbackrestPour mettre à jour PgBouncer, exécutez les commandes suivantes dans l'ordre :
sudo systemctl stop pgbouncersudo dnf upgrade pgbouncersudo systemctl start pgbouncerPour mettre à jour keepalived, exécutez les commandes suivantes dans l'ordre :
sudo systemctl stop keepalivedsudo dnf upgrade keepalivedsudo systemctl start keepalivedPour mettre à jour HAProxy, exécutez les commandes suivantes dans l'ordre :
sudo systemctl stop haproxysudo dnf upgrade haproxysudo systemctl start haproxy