Limites
Les limites suivantes s'appliquent :
- Le point de terminaison est limité au point de terminaison ReadWrite. Les points de terminaison en lecture seule seront compatibles à l'avenir.
Avant de commencer
Avant de configurer l'équilibreur de charge, assurez-vous de remplir les conditions suivantes :
Pour définir les nœuds de l'équilibreur de charge, incluez un groupe
load_balancer_nodesdans votre fichier de spécification de déploiement. Ce groupe doit contenir les noms d'hôte ou les adresses IP de vos VM d'équilibreur de charge dédiées :alloydbomni: vars: ... children: load_balancer_nodes: hosts: lb-node-1: lb-node-2:Pour configurer le pare-feu, autorisez le trafic entrant suivant :
Sur les VM d'équilibreur de charge dédiées :
Port
5432(TCP) : pour le trafic de la base de données HAProxy.Port
6432(TCP) : pour le trafic de mise en pool de connexions PgBouncer, le cas échéant.Protocole VRRP : pour la sélection du leader
keepalivedet les vérifications d'état.
Sur les nœuds de base de données :
- Port
8086(HTTP) : pour les vérifications d'état de l'équilibreur de charge.
- Port
Si vous utilisez l' Google Cloud environnement, définissez
ENVIRONMENT_TYPEsurgcp. Vous devez ensuite authentifier votre compte gcloud CLI en exécutantgcloud auth loginen tant qu'utilisateurroot. De plus, le compte authentifié doit disposer des autorisations suivantes :compute.instances.getcompute.instances.listcompute.instances.updateNetworkInterface
Configurer l'équilibreur de charge
L'orchestrateur RPM utilise HAProxy pour distribuer le trafic et Keepalived pour assurer une haute disponibilité avec une adresse IP virtuelle.
Mettre à jour la spécification de ressource
Dans votre fichier de spécification DBCluster, ajoutez dbLoadBalancerOptions. Cela permet de s'assurer que le gestionnaire de cluster et l'orchestrateur savent comment gérer les points de terminaison de l'équilibreur de charge.
DBCluster:
metadata:
name: DBCLUSTER_NAME
spec:
primarySpec:
# ... other primary settings ...
dbLoadBalancerOptions:
ENVIRONMENT_TYPE::
loadBalancerIP: "VIRTUAL_IP"
loadBalancerType: "internal"
loadBalancerInterface: "VIRTUAL_IP_INTERFACE"
Remplacez les éléments suivants :
ENVIRONMENT_TYPE: détermine l'environnement dans lequel le cluster est configuré (onpremougcp).DBCLUSTER_NAME: nom de votre cluster de bases de données AlloyDB Omni, par exemplemy-db-cluster.VIRTUAL_IP: adresse IP statique utilisée pour l'adresse IP virtuelle flottante. Les applications clientes de la base de données utilisent l'adresse IP définie ici. Pour vous assurer que Keepalived peut diffuser correctement les protocoles ARP (Gratuitous Address Resolution Protocols), cette adresse IP doit répondre aux conditions suivantes : elle doit être disponible, elle ne peut pas être en rebouclage et, dans le cas d'un environnement sur site, elle appartient au même sous-réseau que vos interfaces de nœud principal.VIRTUAL_IP_INTERFACE: interface réseau sur laquelleVIRTUAL_IPest configurée. La valeur par défaut esteth0.
Appliquer la configuration
Appliquez les modifications de configuration à l'aide de l'interface de l'orchestrateur de votre choix.
Ansible
Exécutez le playbook d'amorçage à l'aide de vos fichiers d'inventaire et de spécification de ressource :
ansible-playbook DBCLUSTER_PLAYBOOK -i "DEPLOYMENT_SPECIFICATION" \
-e resource_spec="DBCLUSTER_SPECIFICATION"Remplacez les variables suivantes :
DBCLUSTER_PLAYBOOK: chemin d'accès au playbook que vous avez créé pour votre cluster de bases de données dans Créer un cluster.DEPLOYMENT_SPECIFICATION: chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.DBCLUSTER_SPECIFICATION: chemin d'accès aux spécifications de votre cluster.
alloydbctl
Appliquez les spécifications de ressource et de déploiement :
alloydbctl apply -d "DEPLOYMENT_SPECIFICATION" -r "DBCLUSTER_SPECIFICATION"Remplacez les variables suivantes :
DEPLOYMENT_SPECIFICATION: chemin d'accès à la spécification de déploiement que vous avez créée dans Installer les composants AlloyDB Omni.DBCLUSTER_SPECIFICATION: chemin d'accès aux spécifications de votre cluster.
Vérifier l'équilibreur de charge
Une fois la configuration terminée par l'orchestrateur RPM, vérifiez que vous pouvez vous connecter au cluster de bases de données à l'aide de l'adresse IP virtuelle :
psql -h VIRTUAL_IP -U postgresRemplacez VIRTUAL_IP par l'adresse IP que vous avez configurée dans le champ loadBalancerIP.
L'équilibreur de charge achemine automatiquement votre connexion vers le nœud principal actuel.