Limitazioni
Si applicano le seguenti limitazioni:
- L'endpoint è limitato all'endpoint ReadWrite. Gli endpoint di sola lettura saranno supportati in futuro.
Prima di iniziare
Prima di configurare il bilanciatore del carico, assicurati di soddisfare i seguenti requisiti:
Per definire i nodi del bilanciatore del carico, nel file di specifica del deployment includi un gruppo
load_balancer_nodesche contenga i nomi host o gli indirizzi IP delle VM del bilanciatore del carico dedicato:alloydbomni: vars: ... children: load_balancer_nodes: hosts: lb-node-1: lb-node-2:Per configurare il firewall, consenti il seguente traffico in entrata:
Nelle VM del bilanciatore del carico dedicato:
Porta
5432(TCP): per il traffico del database HAProxy.Porta
6432(TCP): per il traffico di pooling delle connessioni PgBouncer, se applicabile.Protocollo VRRP: per l'elezione del leader e i controlli di integrità di
keepalived.
Sui nodi del database:
- Porta
8086(HTTP): per i controlli di integrità del bilanciatore del carico.
- Porta
Se utilizzi l' Google Cloud ambiente, imposta
ENVIRONMENT_TYPEsugcp. Dopodiché devi autenticare il tuo account gcloud CLI eseguendogcloud auth logincome utenteroot. Inoltre, l'account autenticato deve disporre delle seguenti autorizzazioni:compute.instances.getcompute.instances.listcompute.instances.updateNetworkInterface
Configura il bilanciatore del carico
L'orchestratore RPM utilizza HAProxy per distribuire il traffico e Keepalived per fornire alta affidabilità con un IP virtuale (VIP).
Aggiorna la specifica della risorsa
Nel file di specifica DBCluster, aggiungi dbLoadBalancerOptions, che assicura che il gestore del cluster e l'orchestratore sappiano come gestire gli endpoint del bilanciatore del carico.
DBCluster:
metadata:
name: DBCLUSTER_NAME
spec:
primarySpec:
# ... other primary settings ...
dbLoadBalancerOptions:
ENVIRONMENT_TYPE::
loadBalancerIP: "VIRTUAL_IP"
loadBalancerType: "internal"
loadBalancerInterface: "VIRTUAL_IP_INTERFACE"
Sostituisci quanto segue:
ENVIRONMENT_TYPE: determina l'ambiente in cui è configurato il cluster:onpremogcp.DBCLUSTER_NAME: il nome del cluster di database AlloyDB Omni, ad esempiomy-db-cluster.VIRTUAL_IP: indirizzo IP statico utilizzato per l'IP virtuale mobile. Le applicazioni client di database utilizzano l'indirizzo IP definito qui. Per assicurarti che Keepalived possa trasmettere correttamente i protocolli di risoluzione degli indirizzi spontanei (GARP), questo indirizzo IP deve soddisfare le seguenti condizioni: deve essere disponibile, non può eseguire il loopback e, nel caso di on-premise, appartiene alla stessa subnet delle interfacce del nodo principale.VIRTUAL_IP_INTERFACE: interfaccia di rete in cuiVIRTUAL_IPè configurato. Il valore predefinito èeth0.
Applica la configurazione
Applica le modifiche alla configurazione utilizzando l'interfaccia dell'orchestratore che preferisci.
Ansible
Esegui il playbook di bootstrap utilizzando i file di inventario e di specifica delle risorse:
ansible-playbook DBCLUSTER_PLAYBOOK -i "DEPLOYMENT_SPECIFICATION" \
-e resource_spec="DBCLUSTER_SPECIFICATION"Sostituisci le seguenti variabili:
DBCLUSTER_PLAYBOOK: percorso del playbook che hai creato per il cluster di database in Crea un cluster.DEPLOYMENT_SPECIFICATION: percorso della specifica del deployment che hai creato in Installa i componenti di AlloyDB Omni.DBCLUSTER_SPECIFICATION: percorso delle specifiche del cluster.
alloydbctl
Applica le specifiche di risorse e deployment:
alloydbctl apply -d "DEPLOYMENT_SPECIFICATION" -r "DBCLUSTER_SPECIFICATION"Sostituisci le seguenti variabili:
DEPLOYMENT_SPECIFICATION: percorso della specifica del deployment che hai creato in Installa i componenti di AlloyDB Omni.DBCLUSTER_SPECIFICATION: percorso delle specifiche del cluster.
Verifica il bilanciatore del carico
Una volta completata la configurazione da parte dell'orchestratore RPM, verifica di poter connetterti al cluster di database utilizzando il VIP:
psql -h VIRTUAL_IP -U postgresSostituisci VIRTUAL_IP con l'indirizzo IP che hai configurato nel campo loadBalancerIP.
Il bilanciatore del carico instrada automaticamente la connessione al nodo principale corrente.