Hinweis
Sie benötigen die Bereitstellungsspezifikationsdatei deployment_spec.yaml, die alle Details zu Ihren Knoten- und Clusterkomponenten enthält.
Orchestrator aktualisieren
Der Orchestrator verwaltet Ihre Datenbankcluster. Sie müssen den Orchestrator auf Ihrem Steuerknoten aktualisieren, bevor Sie die anderen Clusterkomponenten aktualisieren.
Ansible
Wenn Sie Ihre Infrastruktur mit Ansible-Playbooks verwalten, führen Sie die folgenden Schritte aus:
Prüfen Sie die installierte Version der Sammlung
google.alloydbomni_orchestratorauf Ihrem Steuerknoten, indem Sie den folgenden Befehl ausführen:ansible-galaxy collection list | grep alloydbomni_orchestratorWenn Sie Ihre vorhandene Version überschreiben möchten, laden Sie die neueste stabile Version der Tar-Datei der Sammlung herunter und führen Sie eine erzwungene Installation durch:
ansible-galaxy collection install --force google-alloydbomni_orchestrator-NEW_VERSION.tar.gzErsetzen Sie
NEW_VERSIONdurch die Version der neuen Sammlung.
alloydbctl
Wenn Sie das Befehlszeilentool alloydbctl verwenden, führen Sie die folgenden Schritte aus:
Führen Sie den folgenden Befehl aus, um die installierte Paketversion des RPM-Orchestrators
alloydbomni_orchestratorauf Ihrem Steuerknoten zu prüfen:rpm -q alloydbomni_orchestratorAktualisieren Sie das Softwarepaket auf Ihrem Steuerknoten mit dem Paketmanager:
sudo dnf upgrade alloydbomni_orchestrator
Clusterkomponenten mit Ansible aktualisieren
Google empfiehlt, das Update mit der bereitgestellten Ansible-Rolle durchzuführen.
Erstellen Sie ein Playbook mit dem Namen
update.yaml, das auf die Rolleupdateaus der Orchestrator-Sammlung verweist. Sie müssen den Parameterwertupdate_actionaufupdate_rpmfestlegen.Standardmäßig aktualisiert die Rolle
updatesowohl die Steuerungsebene als auch die Datenebene. Wenn Sie nur Komponenten der Steuerungsebene oder der Datenebene aktualisieren möchten, legen Sie den Parameter für die andere Ebene auffalsefest.--- - 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.updateErsetzen Sie Folgendes:
SSH_USER: Der SSH-Nutzername, der Zugriff auf Ihre Clusterknoten hat.PRIVATE_KEY_PATH: Der Pfad zu Ihrer privaten SSH-Schlüsseldatei.update_action: Der Umfang des Updates. Legen Sie diesen Wert aufupdate_rpmfest.update_control_plane: Optional. Legen Siefalsefest, um nur Komponenten der Datenebene zu aktualisieren. Der Standardwert isttrue.update_data_plane: Optional. Legen Siefalsefest, um nur Komponenten der Steuerungsebene zu aktualisieren. Der Standardwert isttrue.
Wenn Sie ein Update auf allen angegebenen Knoten durchführen möchten, führen Sie das Playbook mit Ihrer Inventardatei aus:
ansible-playbook -i DEPLOYMENT_SPEC update.yamlErsetzen Sie
DEPLOYMENT_SPECdurch den Pfad zu Ihrer Bereitstellungsspezifikationsdatei.In Ihrer Bereitstellungsspezifikationsdatei muss die installierte Version für jede Komponente in Ihrem Cluster definiert sein. Die Update-Rolle aktualisiert Komponenten basierend darauf, wie Sie ihre Versionen in der Inventardatei konfigurieren:
- Wenn die Version einer Komponente mit der installierten Version übereinstimmt, nimmt die Update-Rolle keine Änderungen an dieser Komponente vor.
- Wenn Sie die Version einer Komponente in eine bestimmte Zielversion ändern, wird die Komponente auf diese Version aktualisiert.
- Wenn Sie das Versions-Feld einer Komponente leer lassen, wird die Komponente auf die neueste verfügbare Version im konfigurierten Repository aktualisiert.
Clusterkomponenten manuell aktualisieren
Wenn Sie den Ansible-Orchestrator nicht verwenden oder den Updateprozess detailliert steuern möchten, können Sie RPM-Komponenten für jeden Knoten in Ihrem Cluster manuell aktualisieren. Es wird empfohlen, Softwareupdates während des geplanten Wartungsfensters durchzuführen.
Der manuelle Updateprozess umfasst das Aktualisieren der folgenden beiden Ebenen:
Steuerungsebene (RPM-Orchestratorkomponenten): Die Steuerungsebene ist die Ebene, die Ihre Datenbankcluster steuert und verwaltet. In einer RPM-Bereitstellung umfasst die Steuerungsebene
cluster_manager,node_managerundetcd.Datenebene (Datenbankcluster): Die Datenebene enthält die Datenbankclusterkomponenten, einschließlich der AlloyDB Omni-Datenbank-Engine selbst,
monitorsowie Dienste wiepgBackRest,PgBouncer,keepalivedundHAProxy. Durch das Upgrade der Datenebene werden Datenbankversionsupdates, Sicherheitspatches und Leistungsverbesserungen direkt auf Ihre Datenbankcluster angewendet.
Unabhängig von Ihrer Referenzarchitektur bleiben die Schritte zum Aktualisieren der Steuerungsebene gleich. Sie müssen die Komponenten der Steuerungsebene aktualisieren, bevor Sie die Datenebene aktualisieren. Die Schritte zum Aktualisieren der Datenebene unterscheiden sich je nach Architektur Ihrer Datenbankbereitstellung.
So aktualisieren Sie einen Dienst oder ein Paket:
Beenden Sie den Dienst:
sudo systemctl stop SERVICEFühren Sie mit einem der folgenden Befehle ein Upgrade des Pakets durch:
So aktualisieren Sie auf die neueste verfügbare Version:
sudo dnf upgrade PACKAGESo aktualisieren Sie auf eine bestimmte Version:
sudo dnf upgrade PACKAGE-VERSION
Starten Sie den Dienst:
sudo systemctl start SERVICE
Ersetzen Sie Folgendes:
SERVICE: Der Name des Dienstes, der beendet und gestartet werden soll, z. B.pgbounceroderkeepalived.PACKAGE: Der Name des zu aktualisierenden Pakets, z. B.pgbounceroderalloydbomni18.VERSION: Die Zielpaketversion, die installiert werden soll, z. B.18.3.0oder18.3.0-2.rhel9.
Steuerungsebene manuell aktualisieren
Führen Sie die folgenden Schritte auf den angegebenen Knoten aus, um die Steuerungsebene zu aktualisieren:
Führen Sie den folgenden Befehl aus, um den Cluster Manager auf allen Cluster Manager-Knoten zu beenden:
sudo systemctl stop alloydbomni_cluster_managerFühren Sie die folgenden Befehle nacheinander aus, um
etcdauf allen DCS-Knoten zu aktualisieren:sudo systemctl stop etcdsudo dnf upgrade etcdsudo systemctl start etcdFühren Sie die folgenden Befehle nacheinander aus, um den Knotenmanager auf allen Knoten zu aktualisieren:
sudo systemctl stop alloydbomni_node_managersudo dnf upgrade alloydbomni_node_managersudo systemctl start alloydbomni_node_managerNachdem Sie die Komponenten der Steuerungsebene aktualisiert haben, können Sie den Cluster Manager auf allen Cluster Manager-Knoten aktualisieren und ihn bei Bedarf neu starten.
sudo dnf upgrade alloydbomni_cluster_managersudo systemctl start alloydbomni_cluster_manager
Datenebene manuell aktualisieren
Wenn Sie die Datenebene aktualisieren möchten, aktualisieren Sie die Datenbank- und Hilfsdienste in der für Ihre Bereitstellungsarchitektur angegebenen Reihenfolge. Für jeden Dienst müssen Sie eine bestimmte Reihenfolge einhalten: Beenden Sie den Dienst, führen Sie ein Upgrade des Pakets durch und starten Sie den Dienst.
Folgen Sie der Anleitung für Ihre Bereitstellung, je nach Referenzarchitektur.
Rufen Sie den Clusterstatus mit dem Befehl
alloydbctl getab und legen Sie das Ausgabeformat auf YAML fest:alloydbctl get -d DEPLOYMENT_SPEC -t RESOURCE_TYPE -n CLUSTER_NAME -o yamlErsetzen Sie Folgendes:
RESOURCE_TYPE: Der zu prüfende Ressourcentyp, z. B.DBCluster.CLUSTER_NAME: Der Name Ihres Datenbankclusters.DEPLOYMENT_SPEC: Der Pfad zu Ihrer Bereitstellungsspezifikationsdatei.
Notieren Sie sich in der YAML-Ausgabe die
instanceListim Abschnittstatus.Suchen Sie den Knoten, dessen Rolle auf
Primaryfestgelegt ist. Alle anderen Datenbankknoten sind Ihre Standby-Knoten.Aktualisieren Sie zuerst alle Komponenten der Datenebene, die auf Standby-Knoten ausgeführt werden, und aktualisieren Sie dann diese Komponenten auf dem primären Knoten. Führen Sie die folgenden Schritte aus, um die Komponenten der Datenebene auf jedem Knoten zu aktualisieren.
Führen Sie die folgenden Befehle nacheinander aus, um AlloyDB Omni zu aktualisieren:
sudo systemctl stop alloydbomni18sudo dnf upgrade alloydbomni18sudo systemctl start alloydbomni18Führen Sie die folgenden Befehle nacheinander aus, um den Monitor zu aktualisieren:
sudo systemctl stop alloydbomni_monitorsudo dnf upgrade alloydbomni_monitorsudo systemctl start alloydbomni_monitorFühren Sie die folgenden Befehle nacheinander aus, um pgBackRest zu aktualisieren:
sudo dnf upgrade pgbackrestFühren Sie die folgenden Befehle nacheinander aus, um PgBouncer zu aktualisieren:
sudo systemctl stop pgbouncersudo dnf upgrade pgbouncersudo systemctl start pgbouncerFühren Sie die folgenden Befehle nacheinander aus, um keepalived zu aktualisieren:
sudo systemctl stop keepalivedsudo dnf upgrade keepalivedsudo systemctl start keepalivedFühren Sie die folgenden Befehle nacheinander aus, um HAProxy zu aktualisieren:
sudo systemctl stop haproxysudo dnf upgrade haproxysudo systemctl start haproxy