Prima di iniziare
Prima di installare i componenti, assicurati di aver completato i seguenti prerequisiti:
- Installa l'orchestratore: assicurati che la raccolta Ansible o la CLI dell'orchestratore AlloyDB Omni sia installata sul nodo di controllo.
- Esegui il provisioning delle macchine: devi aver eseguito il provisioning delle macchine virtuali RHEL9 in base all'architettura scelta, ad esempio standalone o ad alta affidabilità.
- Configura rete e firewall: assicurati che tutte le porte richieste siano aperte tra i nodi. Sono inclusi
5432per il traffico del database,2379/2380peretcde le porte di gestione6703,6702e6700utilizzate da Cluster Manager e Node Manager. - Controlla le dipendenze dei pacchetti software: se gestisci i pacchetti software tramite un repository Yum privato, segui le istruzioni di gestione del repository per includere i file RPM dipendenti nel repository.
Prepara l'inventario delle specifiche del deployment
L'orchestratore utilizza un file di specifica di deployment nel formato dell'inventario Ansible per comprendere la topologia del cluster. Crea un file denominato deployment_spec.yaml con i dettagli del nodo.
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:
Sostituisci quanto segue:
MANAGEMENT_CLUSTER_NAME: il nome del cluster di gestione. Può essere uguale al nome del cluster di database se sono installati sugli stessi nodi, ad esempiomy-management-cluster.SETUP_ETCD: specifica se l'orchestratore deve configurare ed eseguire il bootstrap del clusteretcd. Se impostato sutrue, l'orchestratore esegue la configurazione e l'inizializzazione iniziali dietcdsui nodietcddesignati. Se non sono definiti nodietcdin deployment_spec, per impostazione predefinita viene configuratoetcdsui nodi di gestione del cluster. Questo parametro corrisponde alla chiaveetcd.setupnella specifica di deployment.FORCE_OVERWRITE_ETCD: determina se sostituire un file di configurazioneetcdesistente durante la procedura di configurazione. Impostatrueper sovrascrivere il file di configurazione esistente sui nodi di destinazione; in caso contrario, impostafalse(il valore predefinito) per mantenere la configurazione esistente ed evitare interruzioni del servizio non intenzionali.ETCD_VERSION: la versione del pacchetto etcd da installare, ad esempio3.4.13.ETCD_REPOSITORY_URL: l'URL del repository contenente i file RPMetcd.PG_VERSION: la versione principale di PostgreSQL dell'installazione di AlloyDB Omni, ad esempio18.ALLOYDB_OMNI_VERSION: la versione del motore del database AlloyDB Omni da installare, ad esempio18.1.0. Se omessa, l'orchestratore installa l'ultima versione disponibile.ALLOYDB_OMNI_COMMON_REPO_URL: l'URL del repository comune contenente i file RPM di AlloyDB Omni, monitor, PgBouncer e pgBackRest.GPG_KEY: la posizione della chiave pubblica di Google per la verifica GNU Privacy Guard (GPG), ad esempiohttps://dl.google.com/linux/linux_signing_key.pub. Può essere impostato anche come percorso se la chiave viene scaricata in un file su tutte le VM, ad esempio/tmp/linux_signing_key.pub.ALLOYDB_OMNI_MONITOR_VERSION: la versione del pacchetto di monitoraggio di AlloyDB Omni da installare. Il valore predefinito è l'ultima versione disponibile.ALLOYDB_OMNI_CLUSTER_MANAGER_VERSION: la versione di AlloyDB Omni cluster manager da installare. Se omessa, l'orchestratore installa l'ultima versione disponibile.ALLOYDB_OMNI_ORCHESTRATOR_REPO_URL: l'URL del repository contenente i file RPM di AlloyDB Omni Cluster Manager e Node Manager.ALLOYDB_OMNI_NODE_MANAGER_VERSION: la versione di AlloyDB Omni Node Manager da installare. Se omessa, l'orchestratore installa l'ultima versione disponibile.ALLOYDB_OMNI_PGBOUNCER_VERSION: la versione del pacchetto PgBouncer da installare.ALLOYDB_OMNI_PGBACKREST_VERSION: la versione del pacchetto pgBackRest da installare.DB_HOST_1,DB_HOST_2,DB_HOST_3: gli indirizzi IP o i nomi di dominio completi (FQDN) delle macchine virtuali designate come nodi di database.LB_HOST_1,LB_HOST_2: gli indirizzi IP o i nomi di dominio completi (FQDN) delle macchine virtuali designate come nodi del bilanciatore del carico.ETCD_HOST_1,ETCD_HOST_2,ETCD_HOST_3: gli indirizzi IP o i nomi di dominio completi delle macchine virtuali designate come nodietcd.CM_HOST_1,CM_HOST_2,CM_HOST_3: gli indirizzi IP o i nomi di dominio completi delle macchine virtuali designate come nodi di gestione del cluster.
Installare i componenti
Puoi installare i componenti di AlloyDB Omni e le relative dipendenze utilizzando Ansible o installando manualmente i pacchetti software su ogni nodo.
Installa i componenti di AlloyDB Omni utilizzando Ansible
Il metodo di installazione consigliato è l'utilizzo del ruolo Ansible fornito.
Crea un playbook denominato
install.yamlche faccia riferimento al ruolo di installazione della raccolta dell'orchestratore.- name: Install AlloyDB Omni cluster components hosts: all vars: ansible_become: true ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.installSostituisci quanto segue:
SSH_USER: il nome utente che utilizzi per connetterti ai nodi del cluster tramite SSH.SSH_KEY_PATH: il percorso del file della chiave privata SSH sul nodo di controllo, ad esempio~/.ssh/id_rsa.
Esegui il playbook utilizzando il file di inventario per scaricare e installare gli RPM in tutti i nodi specificati.
ansible-playbook -i deployment_spec.yaml install.yaml
Installa manualmente i componenti di AlloyDB Omni
Se non utilizzi Ansible, devi installare manualmente i file RPM su ogni nodo del cluster.
REPO_GPG_KEY: la posizione della chiave pubblica di Google per la verifica GNU Privacy Guard (GPG), ad esempiohttps://dl.google.com/linux/linux_signing_key.pub. Può essere impostato anche come percorso se la chiave viene scaricata in un file su tutte le VM, ad esempiofile:///tmp/linux_signing_key.pub.
Installa i componenti di AlloyDB Omni sui nodi etcd
Su tutti i nodi
etcd, crea un file di configurazione del repository YUM denominato/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_KEYInstalla
etcd:sudo dnf install -y etcdEsegui il bootstrap di
etcdmodificando il file di configurazione. Devi eseguire il bootstrap dietcdprima di installare i componenti di AlloyDB Omni.Su
etcd_nodes, modifica/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.keyDove:
ETCD_HOST: attuale hostetcd.ETCD_HOST_IP: IP hostetcdcorrente.ETCD_HOST_1: il nome del primo nodo nel clusteretcd.ETCD_HOST_IP_1: l'indirizzo IP del primo nodo del clusteretcd.ETCD_HOST_2: il nome del secondo nodo nel clusteretcd.ETCD_HOST_IP_2: l'indirizzo IP del secondo nodo del clusteretcd.ETCD_HOST_3: il nome del terzo nodo nel clusteretcd.ETCD_HOST_IP_3: l'indirizzo IP del terzo nodo del clusteretcd.CLUSTER_NAME: il nome del cluster come da control plane.
Configura il firewall per consentire la comunicazione TCP sulle porte
2379e2380.Avvia etcd:
sudo systemctl enable etcd sudo systemctl start etcd
Installa i componenti di AlloyDB Omni sui nodi di gestione cluster
Su tutti i nodi di gestione cluster, crea un file di configurazione del repository YUM denominato
/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_KEYInstalla il gestore cluster:
sudo dnf install -y alloydbomni_cluster_managerAvvia il gestore cluster:
sudo systemctl enable alloydbomni_cluster_manager sudo systemctl start alloydbomni_cluster_manager
Installa i componenti di AlloyDB Omni sui nodi del database
Su tutti i nodi del database, crea un file di configurazione del repository YUM denominato
/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_KEYInstalla i componenti:
sudo dnf install -y alloydbomniPG_VERSION alloydbomni_monitor alloydbomni_node_manager pgbackrestAvvia il Node Manager:
sudo systemctl enable alloydbomni_node_manager sudo systemctl start alloydbomni_node_manager(Facoltativo) Se non utilizzi nodi del bilanciatore del carico separati, installa
pgbouncerekeepalived:sudo dnf install -y pgbouncer keepalived
Installa i componenti di AlloyDB Omni sui nodi del bilanciatore del carico
Su tutti i nodi del bilanciatore del carico, crea un file di configurazione del repository YUM denominato
/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_KEYInstalla i componenti del bilanciatore del carico:
sudo dnf install -y alloydbomni_node_manager keepalived pgbouncer haproxyAvvia il Node Manager:
sudo systemctl enable alloydbomni_node_manager sudo systemctl start alloydbomni_node_manager
Riepilogo dei componenti AlloyDB Omni installati
La procedura di installazione esegue il deployment di diversi pacchetti RPM chiave a seconda del tipo di nodo:
| Tipo di nodo | Componenti installati | Note |
|---|---|---|
| Nodi dell'istanza principale | alloydbomniPG_VERSION, alloydbomni_monitor, alloydbomni_node_manager, pgbouncer, pgbackrest |
Componenti per il motore del database, il monitoraggio e la gestione. |
| Nodi del bilanciatore del carico | haproxy |
Facoltativo. L'installazione viene ignorata se i nodi del bilanciatore del carico non sono disponibili. |
| Nodi del sistema di gestione dei cluster | alloydbomni_cluster_manager |
Può essere installato sui nodi del database se non sono disponibili nodi dedicati. Se i nodi di gestione cluster non sono specificati, il componente di gestione cluster viene installato su primary_instance_nodes. |
| Nodi etcd | etcd |
Può essere installato sui nodi di gestione del cluster, se necessario. Se i nodi etcd non sono specificati, etcd viene installato su cluster_manager_nodes |
Disinstallare i componenti
Se devi rimuovere l'installazione di AlloyDB Omni dal tuo ambiente, ad esempio per dismettere un cluster o prepararti per una reinstallazione pulita, puoi disinstallare tutti i suoi componenti software. Disinstalli AlloyDB Omni utilizzando Ansible o rimuovendo manualmente gli RPM da ogni nodo.
Disinstallare i componenti di AlloyDB Omni utilizzando Ansible
Per rimuovere i componenti dello stack software AlloyDB Omni utilizzando Ansible, utilizza il file di inventario esistente e un playbook che fa riferimento al ruolo google.alloydbomni_orchestrator.uninstall.
Crea un playbook denominato
uninstall.yaml.- name: Uninstall AlloyDB Omni cluster hosts: all vars: ansible_become: true ansible_user: SSH_USER ansible_ssh_private_key_file: SSH_KEY_PATH roles: - role: google.alloydbomni_orchestrator.uninstallSostituisci quanto segue:
SSH_USER: il nome utente che utilizzi per connetterti ai nodi del cluster tramite SSH.SSH_KEY_PATH: il percorso del file della chiave privata SSH sul nodo di controllo, ad esempio~/.ssh/id_rsa.
Esegui il playbook. Devi trasmettere
cleanup_data=trueecleanup_config=truecome variabili aggiuntive per rimuovere i file di configurazione e la directory dei dati.ansible-playbook -i deployment_spec.yaml uninstall.yaml -e "cleanup_data=true cleanup_config=true"
Disinstalla manualmente i componenti di AlloyDB Omni
Se utilizzi la CLI dell'orchestratore AlloyDB Omni, devi rimuovere manualmente gli RPM da ogni nodo.
Su tutti i nodi del database, esegui questo comando:
sudo dnf remove -y alloydbomni_node_manager alloydbomniPG_VERSION alloydbomni_monitor pgbackrest keepalived pgbouncerSu tutti i nodi del bilanciatore del carico, esegui questo comando:
sudo dnf remove -y alloydbomni_node_manager keepalived haproxy pgbouncerSu tutti i nodi del gestore cluster, esegui questo comando:
sudo dnf remove -y alloydbomni_cluster_manager(Facoltativo) Su tutti i nodi etcd, esegui il seguente comando per disinstallare etcd e pulire i dati etcd:
sudo dnf remove -y etcd sudo rm -rf /var/lib/etcd/data
Passaggi successivi
Per utilizzare i tuoi file di certificato e chiave per TLS, consulta la sezione Come utilizza TLS AlloyDB Omni.