Prima di iniziare
Assicurati di avere il file di specifica del deployment, deployment_spec.yaml, che contiene tutti i dettagli dei componenti dei nodi e dei cluster.
Eseguire l'upgrade dell'orchestratore
L'orchestratore gestisce i cluster di database. Devi eseguire l'upgrade dell'orchestratore sul nodo di controllo prima di eseguire l'upgrade degli altri componenti del cluster.
Ansible
Se gestisci la tua infrastruttura utilizzando i playbook di Ansible, completa i seguenti passaggi:
Controlla la versione installata della raccolta
google.alloydbomni_orchestratorsul nodo di controllo eseguendo il seguente comando:ansible-galaxy collection list | grep alloydbomni_orchestratorPer sovrascrivere la versione esistente, scarica l'ultima release stabile del file tar della raccolta ed esegui un'installazione forzata:
ansible-galaxy collection install --force google-alloydbomni_orchestrator-NEW_VERSION.tar.gzSostituisci
NEW_VERSIONcon la versione della nuova raccolta.
alloydbctl
Se utilizzi lo strumento a riga di comando alloydbctl, completa i seguenti passaggi:
Per controllare la versione del pacchetto installato dell'orchestratore RPM
alloydbomni_orchestratorsul nodo di controllo, esegui il seguente comando:rpm -q alloydbomni_orchestratorEsegui l'upgrade del pacchetto software sul nodo di controllo utilizzando il gestore di pacchetti:
sudo dnf upgrade alloydbomni_orchestrator
Aggiornare i componenti del cluster utilizzando Ansible
Google consiglia di eseguire l'aggiornamento utilizzando il ruolo Ansible fornito.
Crea un playbook denominato
update.yamlche faccia riferimento al ruoloupdatedella raccolta dell'orchestratore. Devi impostare il valore del parametroupdate_actionsuupdate_rpm.Per impostazione predefinita, il ruolo
updateaggiorna sia il piano di controllo sia il piano dati. Per aggiornare solo i componenti del piano di controllo o del piano dati, imposta il parametro dell'altro piano sufalse.--- - 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.updateSostituisci quanto segue:
SSH_USER: il nome utente SSH che ha accesso ai nodi del cluster.PRIVATE_KEY_PATH: il percorso del file della chiave SSH privata.update_action: l'ambito dell'aggiornamento. Imposta questo valore suupdate_rpm.update_control_plane: facoltativo. Imposta sufalseper aggiornare solo i componenti del piano dati. Il valore predefinito ètrue.update_data_plane: facoltativo. Imposta sufalseper aggiornare solo i componenti del piano di controllo. Il valore predefinito ètrue.
Per eseguire un aggiornamento su tutti i nodi specificati, esegui il playbook con il file di inventario:
ansible-playbook -i DEPLOYMENT_SPEC update.yamlSostituisci
DEPLOYMENT_SPECcon il percorso del file di specifica del deployment.Assicurati che il file di specifica del deployment definisca la versione installata per ogni componente del cluster. Il ruolo di aggiornamento aggiorna i componenti in base alla configurazione delle versioni nel file di inventario:
- Se la versione di un componente corrisponde alla versione installata, il ruolo di aggiornamento non apporta modifiche a quel componente.
- Se modifichi la versione di un componente in una versione di destinazione specifica, il componente viene aggiornato a quella versione.
- Se lasci vuoto il campo della versione di un componente, il componente viene aggiornato all'ultima versione disponibile nel repository configurato.
Aggiornare manualmente i componenti del cluster
Se non utilizzi l'orchestratore Ansible o se vuoi un controllo granulare sul processo di aggiornamento, puoi aggiornare manualmente i componenti RPM per ogni nodo del cluster. Ti consigliamo di eseguire gli aggiornamenti software durante il periodo di manutenzione pianificato.
Il processo di aggiornamento manuale prevede l'aggiornamento dei seguenti due piani:
Piano di controllo (componenti dell'orchestratore RPM): il piano di controllo è il livello che controlla e gestisce i cluster di database. In un deployment RPM, il piano di controllo include
cluster_manager,node_manageredetcd.Piano dati (cluster di database): il piano dati contiene i componenti del cluster di database, incluso il motore del database AlloyDB Omni stesso,
monitor, nonché servizi comepgBackRest,PgBouncer,keepalivedeHAProxy. L'upgrade del piano dati applica gli aggiornamenti della versione del database, le patch di sicurezza e i miglioramenti delle prestazioni direttamente ai cluster di database.
Indipendentemente dall'architettura di riferimento, i passaggi per aggiornare il piano di controllo rimangono gli stessi. Devi aggiornare i componenti del piano di controllo prima di aggiornare il piano dati. I passaggi per aggiornare il piano dati variano in base all'architettura di deployment del database.
Per aggiornare un servizio o un pacchetto, segui questi passaggi:
Arresta il servizio:
sudo systemctl stop SERVICEEsegui l'upgrade del pacchetto utilizzando uno dei seguenti comandi:
Per eseguire l'aggiornamento all'ultima versione disponibile:
sudo dnf upgrade PACKAGEPer eseguire l'aggiornamento a una versione specifica:
sudo dnf upgrade PACKAGE-VERSION
Avvia il servizio:
sudo systemctl start SERVICE
Sostituisci quanto segue:
SERVICE: il nome del servizio da arrestare e avviare, ad esempiopgbouncerokeepalived.PACKAGE: il nome del pacchetto da aggiornare, ad esempiopgbounceroalloydbomni18.VERSION: la versione del pacchetto di destinazione da installare, ad esempio18.3.0o18.3.0-2.rhel9.
Aggiornare manualmente il piano di controllo
Per aggiornare il piano di controllo, segui questi passaggi sui nodi designati:
Per arrestare il gestore dei cluster su tutti i nodi del gestore dei cluster, esegui il seguente comando:
sudo systemctl stop alloydbomni_cluster_managerPer aggiornare
etcdsu tutti i nodi DCS, esegui i seguenti comandi in sequenza:sudo systemctl stop etcdsudo dnf upgrade etcdsudo systemctl start etcdPer aggiornare il gestore dei nodi su tutti i nodi, esegui i seguenti comandi in sequenza:
sudo systemctl stop alloydbomni_node_managersudo dnf upgrade alloydbomni_node_managersudo systemctl start alloydbomni_node_managerDopo aver aggiornato i componenti del control plane, puoi aggiornare il gestore dei cluster su tutti i nodi del gestore dei cluster e riavviarlo, se necessario.
sudo dnf upgrade alloydbomni_cluster_managersudo systemctl start alloydbomni_cluster_manager
Aggiornare manualmente il piano dati
Per aggiornare il piano dati, aggiorna il database e i servizi di assistenza nell'ordine specificato per l'architettura di deployment. Per ogni servizio, devi seguire una sequenza rigorosa di arresto del servizio, upgrade del pacchetto e avvio del servizio.
Segui le istruzioni per il deployment in base all'architettura di riferimento.
Recupera lo stato del cluster utilizzando il comando
alloydbctl gete imposta il formato di output su YAML:alloydbctl get -d DEPLOYMENT_SPEC -t RESOURCE_TYPE -n CLUSTER_NAME -o yamlSostituisci quanto segue:
RESOURCE_TYPE: il tipo di risorsa da ispezionare, ad esempioDBCluster.CLUSTER_NAME: il nome del cluster di database.DEPLOYMENT_SPEC: il percorso del file di specifica del deployment.
Nell'output YAML, prendi nota di
instanceListnella sezionestatus.Trova il nodo il cui ruolo è impostato su
Primary. Tutti gli altri nodi del database sono i nodi di standby.Aggiorna prima tutti i componenti del piano dati in esecuzione sui nodi di standby e poi aggiorna questi componenti sul nodo primario. Segui questi passaggi per aggiornare i componenti del piano dati su ogni nodo.
Per aggiornare AlloyDB Omni, esegui i seguenti comandi in sequenza:
sudo systemctl stop alloydbomni18sudo dnf upgrade alloydbomni18sudo systemctl start alloydbomni18Per aggiornare il monitor, esegui i seguenti comandi in sequenza:
sudo systemctl stop alloydbomni_monitorsudo dnf upgrade alloydbomni_monitorsudo systemctl start alloydbomni_monitorPer aggiornare pgBackRest, esegui i seguenti comandi in sequenza:
sudo dnf upgrade pgbackrestPer aggiornare PgBouncer, esegui i seguenti comandi in sequenza:
sudo systemctl stop pgbouncersudo dnf upgrade pgbouncersudo systemctl start pgbouncerPer aggiornare keepalived, esegui i seguenti comandi in sequenza:
sudo systemctl stop keepalivedsudo dnf upgrade keepalivedsudo systemctl start keepalivedPer aggiornare HAProxy, esegui i seguenti comandi in sequenza:
sudo systemctl stop haproxysudo dnf upgrade haproxysudo systemctl start haproxy