Beschränkungen
Es gelten folgende Einschränkungen:
- Der Endpunkt ist auf den ReadWrite-Endpunkt beschränkt. Readonly-Endpunkte werden in Zukunft unterstützt.
Hinweis
Prüfen Sie vor dem Konfigurieren des Load-Balancers, ob Sie die folgenden Anforderungen erfüllen:
Wenn Sie Load-Balancer-Knoten definieren möchten, fügen Sie in der Bereitstellungsspezifikationsdatei eine
load_balancer_nodes-Gruppe ein, die die Hostnamen oder IP-Adressen Ihrer dedizierten Load-Balancer-VMs enthält:alloydbomni: vars: ... children: load_balancer_nodes: hosts: lb-node-1: lb-node-2:Konfigurieren Sie die Firewall so, dass der folgende eingehende Traffic zugelassen wird:
Auf dedizierten Load-Balancer-VMs:
Port
5432(TCP): für HAProxy-Datenbanktraffic.Port
6432(TCP): für PgBouncer-Verbindungspooling-Traffic, falls zutreffend.VRRP-Protokoll: für die
keepalived-Leader-Auswahl und Systemdiagnosen.
Auf Datenbankknoten:
- Port
8086(HTTP): für Load-Balancer-Systemdiagnosen.
- Port
Wenn Sie die Google Cloud Umgebung verwenden, legen Sie
ENVIRONMENT_TYPEaufgcpfest. Anschließend müssen Sie Ihr gcloud CLI-Konto authentifizieren, indem Siegcloud auth loginalsroot-Nutzer ausführen. Außerdem muss das authentifizierte Konto die folgenden Berechtigungen haben:compute.instances.getcompute.instances.listcompute.instances.updateNetworkInterface
Load-Balancer konfigurieren
Der RPM-Orchestrator verwendet HAProxy, um Traffic zu verteilen, und Keepalived, um mit einer virtuellen IP (VIP) Hochverfügbarkeit zu gewährleisten.
Ressourcenspezifikation aktualisieren
Fügen Sie in der DBCluster-Spezifikationsdatei dbLoadBalancerOptions hinzu, damit der Cluster-Manager und der Orchestrator wissen, wie die Load-Balancer-Endpunkte verwaltet werden.
DBCluster:
metadata:
name: DBCLUSTER_NAME
spec:
primarySpec:
# ... other primary settings ...
dbLoadBalancerOptions:
ENVIRONMENT_TYPE::
loadBalancerIP: "VIRTUAL_IP"
loadBalancerType: "internal"
loadBalancerInterface: "VIRTUAL_IP_INTERFACE"
Ersetzen Sie Folgendes:
ENVIRONMENT_TYPE: bestimmt die Umgebung, in der der Cluster eingerichtet wird:onpremodergcp.DBCLUSTER_NAME: der Name Ihres AlloyDB Omni-Datenbankclusters, z. B.my-db-cluster.VIRTUAL_IP: statische IP-Adresse, die für die Floating-VIP verwendet wird. Datenbankclientanwendungen verwenden die hier definierte IP-Adresse. Damit Keepalived Gratuitous Address Resolution Protocols (GARPs) erfolgreich übertragen kann, muss diese IP-Adresse die folgenden Bedingungen erfüllen: Sie muss verfügbar sein, darf keine Loopback-Adresse sein und muss im Fall von On-Premise-Bereitstellungen zum selben Subnetz wie die primären Knotenschnittstellen gehören.VIRTUAL_IP_INTERFACE: Netzwerkschnittstelle, auf derVIRTUAL_IPkonfiguriert ist. Der Standardwert isteth0.
Konfiguration anwenden
Wenden Sie die Konfigurationsänderungen über die Orchestrator-Oberfläche Ihrer Wahl an.
Ansible
Führen Sie das Bootstrap-Playbook mit Ihren Inventar- und Ressourcenspezifikationsdateien aus:
ansible-playbook DBCLUSTER_PLAYBOOK -i "DEPLOYMENT_SPECIFICATION" \
-e resource_spec="DBCLUSTER_SPECIFICATION"Ersetzen Sie die folgenden Variablen:
DBCLUSTER_PLAYBOOK: Pfad zum Playbook, das Sie für Ihren Datenbankcluster unter Cluster erstellen erstellt haben.DEPLOYMENT_SPECIFICATION: Pfad zur Bereitstellungsspezifikation, die Sie unter AlloyDB Omni-Komponenten installieren erstellt haben.DBCLUSTER_SPECIFICATION: Pfad zu Ihren Clusterspezifikationen.
alloydbctl
Wenden Sie die Ressourcen- und Bereitstellungsspezifikationen an:
alloydbctl apply -d "DEPLOYMENT_SPECIFICATION" -r "DBCLUSTER_SPECIFICATION"Ersetzen Sie die folgenden Variablen:
DEPLOYMENT_SPECIFICATION: Pfad zur Bereitstellungsspezifikation, die Sie unter AlloyDB Omni-Komponenten installieren erstellt haben.DBCLUSTER_SPECIFICATION: Pfad zu Ihren Clusterspezifikationen.
Load-Balancer überprüfen
Nachdem der RPM-Orchestrator die Einrichtung abgeschlossen hat, prüfen Sie, ob Sie über die VIP eine Verbindung zum Datenbankcluster herstellen können:
psql -h VIRTUAL_IP -U postgresErsetzen Sie VIRTUAL_IP durch die IP-Adresse, die Sie im Feld loadBalancerIP konfiguriert haben.
Der Load-Balancer leitet Ihre Verbindung automatisch zum aktuellen primären Knoten weiter.