Hinweis
Bevor Sie die Komponenten installieren, müssen Sie die folgenden Voraussetzungen erfüllen:
- Orchestrator installieren: Die Ansible-Sammlung oder die CLI des AlloyDB Omni-Orchestrators muss auf Ihrem Steuerknoten installiert sein.
- Maschinen bereitstellen: Sie müssen virtuelle RHEL9-Maschinen gemäß der von Ihnen ausgewählten Architektur bereitgestellt haben, z. B. als Standalone- oder Hochverfügbarkeitskonfiguration.
- Netzwerk und Firewall konfigurieren: Alle erforderlichen Ports müssen zwischen Ihren Knoten geöffnet sein. Dazu gehören
5432für Datenbanktraffic,2379/2380füretcdund die Verwaltungsprotokolle6703,6702und6700, die vom Cluster Manager und Node Manager verwendet werden. - Abhängigkeiten von Softwarepaketen prüfen: Wenn Sie Softwarepakete über ein privates Yum-Repository verwalten, folgen Sie der Anleitung Ihrer Repository-Verwaltung, um abhängige RPM-Dateien in das Repository aufzunehmen.
Inventar der Bereitstellungsspezifikation vorbereiten
Der Orchestrator verwendet eine Bereitstellungsspezifikationsdatei im Ansible-Inventarformat, um Ihre Clustertopologie zu verstehen. Erstellen Sie eine Datei mit dem Namen deployment_spec.yaml mit Ihren Knotendetails.
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:
Ersetzen Sie Folgendes:
MANAGEMENT_CLUSTER_NAME: der Name Ihres Verwaltungsclusters. Dieser kann mit dem Namen Ihres Datenbankclusters identisch sein, wenn sie auf denselben Knoten installiert sind, z. B.my-management-cluster.SETUP_ETCD: gibt an, ob der Orchestrator denetcd-Cluster konfigurieren und booten muss. Wenn auftruegesetzt, führt der Orchestrator die anfänglicheetcd-Einrichtung und -Initialisierung auf den angegebenenetcd-Knoten durch. Wenn in Ihrer deployment_spec keineetcd-Knoten definiert sind, wirdetcdstandardmäßig auf den Cluster Manager-Knoten konfiguriert. Dieser Parameter entspricht dem Schlüsseletcd.setupin der Bereitstellungsspezifikation.FORCE_OVERWRITE_ETCD: bestimmt, ob während der Einrichtung eine vorhandeneetcd-Konfigurationsdatei ersetzt werden soll. Setzen Sie den Wert auftrue, um die vorhandene Konfigurationsdatei auf den Zielknoten zu überschreiben. Andernfalls setzen Sie den Wert auffalse(Standard), um die vorhandene Konfiguration beizubehalten und unbeabsichtigte Dienstunterbrechungen zu vermeiden.ETCD_VERSION: die Version des zu installierenden etcd-Pakets, z. B.3.4.13.ETCD_REPOSITORY_URL: die URL des Repositorys mit denetcd-RPMs.PG_VERSION: die Hauptversion von PostgreSQL Ihrer AlloyDB Omni-Installation, z. B.18.ALLOYDB_OMNI_VERSION: die Version der zu installierenden AlloyDB Omni-Datenbank-Engine, z. B.18.1.0. Wenn nicht angegeben, installiert der Orchestrator die neueste verfügbare Version.ALLOYDB_OMNI_COMMON_REPO_URL: die URL des gemeinsamen Repositorys mit AlloyDB Omni-, Monitor-, PgBouncer- und pgBackRest-RPMs.GPG_KEY: der Speicherort des öffentlichen Schlüssels von Google für die GNU Privacy Guard-Überprüfung (GPG), z. B.https://dl.google.com/linux/linux_signing_key.pub. Dies kann auch als Pfad festgelegt werden, wenn der Schlüssel auf alle VMs in eine Datei heruntergeladen wird, z. B./tmp/linux_signing_key.pub.ALLOYDB_OMNI_MONITOR_VERSION: die Version des zu installierenden AlloyDB Omni-Monitorpakets. Die Standardeinstellung ist die neueste verfügbare Version.ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION: die Version des zu installierenden AlloyDB Omni-Cluster Managers. Wenn nicht angegeben, installiert der Orchestrator die neueste verfügbare Version.ALLOYDB_OMNI_ORCHESTRATOR_REPO_URL: die URL des Repositorys mit den RPMs für den AlloyDB Omni-Cluster Manager und Node Manager.ALLOYDB_OMNI_NODE_MANAGER_VERSION: die Version des zu installierenden AlloyDB Omni-Node Managers. Wenn nicht angegeben, installiert der Orchestrator die neueste verfügbare Version.ALLOYDB_OMNI_PGBOUNCER_VERSION: die Version des zu installierenden PgBouncer-Pakets.ALLOYDB_OMNI_PGBACKREST_VERSION: die Version des zu installierenden pgBackRest-Pakets.DB_HOST_1,DB_HOST_2,DB_HOST_3: die IP-Adressen oder vollständig qualifizierten Domainnamen (FQDNs) der als Datenbankknoten festgelegten virtuellen Maschinen.LB_HOST_1,LB_HOST_2: die IP-Adressen oder vollständig qualifizierten Domainnamen (FQDNs) der als Load-Balancer-Knoten festgelegten virtuellen Maschinen.ETCD_HOST_1,ETCD_HOST_2,ETCD_HOST_3: die IP-Adressen oder FQDNs der alsetcd-Knoten festgelegten virtuellen Maschinen.CM_HOST_1,CM_HOST_2,CM_HOST_3: die IP-Adressen oder FQDNs der als Cluster Manager-Knoten festgelegten virtuellen Maschinen.
Komponenten installieren
Sie können die AlloyDB Omni-Komponenten und ihre Abhängigkeiten mit Ansible installieren oder die Softwarepakete manuell auf jedem Knoten installieren.
AlloyDB Omni-Komponenten mit Ansible installieren
Die empfohlene Installationsmethode ist die Verwendung der bereitgestellten Ansible-Rolle.
Erstellen Sie ein Playbook mit dem Namen
install.yaml, das auf die Installationsrolle aus der Orchestrator-Sammlung verweist.- name: Install AlloyDB Omni cluster components hosts: all become: true vars: ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.installErsetzen Sie Folgendes:
SSH_USER: der Nutzername, mit dem Sie über SSH eine Verbindung zu den Knoten in Ihrem Cluster herstellen.SSH_KEY_PATH: der Pfad zur privaten SSH-Schlüsseldatei auf Ihrem Steuerknoten, z. B.~/.ssh/id_rsa.
Führen Sie das Playbook mit Ihrer Inventardatei aus, um die Komponenten auf allen angegebenen Knoten herunterzuladen und zu installieren.
ansible-playbook -i deployment_spec.yaml install.yaml
AlloyDB Omni-Komponenten ohne Ansible installieren
Wenn Sie keine Ansible-Umgebung haben und die Orchestrator CLI für die Clusterverwaltung verwenden möchten, müssen Sie alle Komponenten manuell installieren, da die Orchestrator CLI keine automatisierte Installation von Komponenten bietet.
Komponenten auf allen Knoten installieren
In der folgenden Tabelle sind alle Knotentypen und die entsprechenden zu installierenden Komponenten (RPMs) aufgeführt.
| Knoten | Softwarekomponenten (RPM) | Community-Anmerkung |
|---|---|---|
control node |
alloydbomni_orchestrator |
|
primary_instance_nodes |
alloydbomni18alloydbomni_monitoralloydbomni_node_managerkeepalivedpgbackrestpgbouncer |
Keepalived und pgbouncer sind nur für Umgebungen erforderlich, in denen keine Load-Balancer vorhanden sind. |
etcd_nodes |
etcd |
ETCD kann auf Cluster Manager-Knoten installiert werden, wenn keine dedizierten Knoten für ETCD vorhanden sind. |
cluster_manager_nodes |
alloydbomni_cluster_manager |
Der Cluster Manager kann auf den Datenbankknoten (primary_instance_nodes) installiert werden, wenn keine dedizierten Knoten für den Cluster Manager vorhanden sind. |
load_balancer_nodes |
alloydbomni_node_managerhaproxykeepalivedpgbouncer |
keepalived und pgbouncer werden nur in der Umgebung mit konfigurierten Load-Balancern auf Load-Balancer-Knoten installiert. |
Installationsbefehle:
REPO_GPG_KEY: Speicherort des öffentlichen Schlüssels von Google für die GPG-Überprüfung, z. B.https://dl.google.com/linux/linux_signing_key.pub. Kann auch als Dateipfad festgelegt werden, nachdem er heruntergeladen und auf allen VMs platziert wurde, z. B.file:///tmp/linux_signing_key.pub.
AlloyDB Omni-Komponenten auf etcd-Knoten installieren
Erstellen Sie auf allen
etcd-Knoten eine YUM-Repository-Konfigurationsdatei mit dem Namen/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_KEYetcdinstallieren:sudo dnf install -y etcdetcdbooten, indem Sie die Konfigurationsdatei bearbeiten. Sie müssenetcdbooten, bevor Sie AlloyDB Omni-Komponenten installieren.Bearbeiten Sie auf
etcd_nodesdie Datei/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.keyWobei:
ETCD_HOST: aktuelleretcd-Host.ETCD_HOST_IP: aktuelleetcd-Host-IP.ETCD_HOST_1: der Name des ersten Knotens imetcd-Cluster.ETCD_HOST_IP_1: die IP-Adresse des ersten Knotens imetcd-Cluster.ETCD_HOST_2: der Name des zweiten Knotens imetcd-Cluster.ETCD_HOST_IP_2: die IP-Adresse des zweiten Knotens imetcd-Cluster.ETCD_HOST_3: der Name des dritten Knotens imetcd-Cluster.ETCD_HOST_IP_3: die IP-Adresse des dritten Knotens imetcd-Cluster.CLUSTER_NAME: Clustername gemäß der Steuerungsebene.
Konfigurieren Sie die Firewall so, dass die TCP-Kommunikation über die Ports
2379und2380zugelassen wird.etcd starten:
sudo systemctl enable etcd sudo systemctl start etcd
AlloyDB Omni-Komponenten auf primären Instanzknoten installieren
Erstellen Sie auf allen
primary_instance_nodeseine YUM-Repository-Konfigurationsdatei mit dem Namen/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_KEYInstallieren Sie
alloydbomni18,alloydbomni_monitor,alloydbomni_node_managerundpgbackrestauf allenprimary_instance_nodes:sudo dnf install -y alloydbomni18 alloydbomni_monitor alloydbomni_node_manager pgbackrestOptional: Wenn Sie keine Load-Balancer-Knoten (
load_balancer_nodes) haben, installieren Siepgbouncerundkeepalived:sudo dnf install -y pgbouncer keepalivedNachdem
alloydbomni_node_managerinstalliert wurde, mussalloydbomni_node_managerkonfiguriert werden, bevor die Dienste gestartet werden. Achten Sie darauf, dass die Bereitstellungsspezifikationsdatei (deployment_spec.yaml) auf alle entsprechenden VMs kopiert wird:sudo /usr/local/bin/alloydbomni_nm_config apply -d deployment_spec.yaml
AlloyDB Omni-Komponenten auf Cluster Manager-Knoten installieren
Erstellen Sie auf allen Cluster Manager-Knoten eine YUM-Repository-Konfigurationsdatei mit dem Namen
/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_KEYCluster Manager installieren:
sudo dnf install -y alloydbomni_cluster_managerNachdem
alloydbomni_cluster_managerinstalliert undetcdgebootet wurde, mussalloydbomni_cluster_managerkonfiguriert werden, bevor die Dienste gestartet werden.sudo /usr/local/bin/alloydbomni_cm_config apply -d deployment_spec.yaml
AlloyDB Omni-Komponenten auf Load-Balancer-Knoten installieren
Erstellen Sie auf allen Load-Balancer-Knoten eine YUM-Repository-Konfigurationsdatei mit dem Namen
/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_KEYLoad-Balancer-Komponenten installieren:
sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxyNachdem
alloydbomni_node_managerinstalliert undetcdgebootet wurde, mussalloydbomni_node_managerkonfiguriert werden, bevor die Dienste gestartet werden. Achten Sie darauf, dass die Bereitstellungsspezifikationsdatei (deployment_spec.yaml) auf alle entsprechenden VMs kopiert wird:sudo /usr/local/bin/alloydbomni_nm_config apply -d deployment_spec.yaml
Zusammenfassung der installierten AlloyDB Omni-Komponenten
Beim Installationsvorgang werden je nach Knotentyp mehrere wichtige RPM-Pakete bereitgestellt:
| Knotentyp | Installierte Komponenten | Hinweise |
|---|---|---|
| Primäre Instanzknoten | alloydbomniPG_VERSION, alloydbomni_monitor, alloydbomni_node_manager, pgbouncer, pgbackrest |
Komponenten für die Datenbank-Engine, das Monitoring und die Verwaltung. |
| Load-Balancer-Knoten | haproxy |
Optional. Die Installation wird übersprungen, wenn keine Load-Balancer-Knoten verfügbar sind. |
| Cluster Manager-Knoten | alloydbomni_cluster_manager |
Kann auf Datenbankknoten installiert werden, wenn keine dedizierten Knoten verfügbar sind. Wenn keine Cluster Manager-Knoten angegeben sind, wird die Cluster Manager-Komponente auf den primary_instance_nodes installiert. |
| etcd-Knoten | etcd |
Kann bei Bedarf auf Cluster Manager-Knoten installiert werden. Wenn keine etcd-Knoten angegeben sind, wird etcd auf den cluster_manager_nodes installiert. |
Komponenten deinstallieren
Wenn Sie die AlloyDB Omni-Installation aus Ihrer Umgebung entfernen müssen, z. B. um einen Cluster außer Betrieb zu nehmen oder eine Neuinstallation vorzubereiten, können Sie alle Softwarekomponenten deinstallieren. Sie deinstallieren AlloyDB Omni mit Ansible oder indem Sie die RPMs manuell von jedem Knoten entfernen.
AlloyDB Omni-Komponenten mit Ansible deinstallieren
Wenn Sie die Komponenten des AlloyDB Omni-Softwarestacks mit Ansible entfernen möchten, verwenden Sie Ihre vorhandene Inventardatei und ein Playbook, das auf die Rolle google.alloydbomni_orchestrator.uninstall verweist.
Erstellen Sie ein Playbook mit dem Namen
uninstall.yaml.- name: Uninstall AlloyDB Omni cluster hosts: all become: true vars: ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.uninstallErsetzen Sie Folgendes:
SSH_USER: der Nutzername, mit dem Sie über SSH eine Verbindung zu den Knoten in Ihrem Cluster herstellen.SSH_KEY_PATH: der Pfad zur privaten SSH-Schlüsseldatei auf Ihrem Steuerknoten, z. B.~/.ssh/id_rsa.
Führen Sie das Playbook aus. Sie müssen
cleanup_data=trueundcleanup_config=trueals zusätzliche Variablen übergeben, um die Konfigurationsdateien und das Datenverzeichnis zu entfernen.ansible-playbook -i deployment_spec.yaml uninstall.yaml -e "cleanup_data=true cleanup_config=true"
AlloyDB Omni-Komponenten manuell deinstallieren
Wenn Sie die AlloyDB Omni-Orchestrator CLI verwenden, müssen Sie die RPMs manuell von jedem Knoten entfernen.
Führen Sie auf allen Datenbankknoten den folgenden Befehl aus:
sudo dnf remove -y alloydbomni_node_manager alloydbomniPG_VERSION alloydbomni_monitor pgbackrest keepalived pgbouncerFühren Sie auf allen Load-Balancer-Knoten den folgenden Befehl aus:
sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncerFühren Sie auf allen Cluster Manager-Knoten den folgenden Befehl aus:
sudo dnf remove -y alloydbomni_cluster_managerOptional: Führen Sie auf allen etcd-Knoten den folgenden Befehl aus, um etcd zu deinstallieren und etcd-Daten zu bereinigen:
sudo dnf remove -y etcd sudo rm -rf /var/lib/etcd/data
Nächste Schritte
Informationen zum Verwenden eigener Zertifikats- und Schlüsseldateien für TLS finden Sie unter TLS in AlloyDB Omni.