Am o configurare cu 3 noduri fiecare are keepalived și HAProxy instalat. Keepalived este instalat pe VM, dar HAProxy rulează ca parte a unui roi docker. HAProxy rulează în modul rețea gazdă.
--VM-1------------------------------
| HAP-1 |
cereri | ___________________ _________|
=========>| |VIP + Keeplivered | => |HAProxy||
|| | |_________________| |_______||
|| ------------------------------------
||
|| --------VM-2------------------------
|| | HAP-2 |
|| | ___________________ _________|
======>| | Keeplivered | => |HAProxy||
|| | |_________________| |_______||
|| ------------------------------------
||
|| --VM-3------------------------------
|| | HAP-3 |
|| | ___________________ _________|
======>| | Keeplivered | => |HAProxy||
| |_________________| |_______||
------------------------------------
La început VM-1 și HAP-1 sunt active. Când are loc o eroare pe VM-1, VIP-ul (să zicem de exemplu) se mută la VM-2. Aș dori ca HAProxy să fie pe aceeași mașină cu VIP-ul (adică HAP-2). Când testez configurarea prin oprirea serviciului keepalived pe VM-1, doar mută VIP-ul pe VM-2 și HAProxy continuă să funcționeze pe VM-1. Cred că intrarea în docker gestionează conexiunea la HAProxy și o direcționează către HAP-1, unde keepalived-ul a fost oprit. Este posibil să comutați VIP + HAProxy la unul dintre VM-ul de așteptare?