У меня есть установка с 3 узлами, каждый из которых имеет поддержку активности и HAProxy. Keepalived установлен на виртуальной машине, но HAProxy работает как часть роя докеров. HAProxy работает в режиме хост-сети.
--VM-1---------------
| ГАП-1 |
запросы | ___________________ _________|
=========>| |VIP + Keepalived | => |HAProxy||
|| | |_________________| |_______||
|| ---------------------------------------------
||
|| --------ВМ-2-----------------------
|| | ГАП-2 |
|| | ___________________ _________|
======>| | Подтверждение активности | => |HAProxy||
|| | |_________________| |_______||
|| ---------------------------------------------
||
|| --VM-3---------------
|| | ГАП-3 |
|| | ___________________ _________|
======>| | Подтверждение активности | => |HAProxy||
| |_________________| |_______||
---------------------------------------------
Сначала активны VM-1 и HAP-1. Когда происходит сбой на VM-1, VIP (скажем, например) перемещается на VM-2. Я хотел бы, чтобы HAProxy находился на той же машине, что и VIP (т. е. HAP-2). Когда я проверяю настройку, останавливая службу поддержки активности на ВМ-1, она просто перемещает VIP на ВМ-2, а HAProxy продолжает работать на ВМ-1. Я думаю, что вход в докер обрабатывает соединение с HAProxy и перенаправляет его на HAP-1, где поддержка активности была остановлена. Можно ли переключить VIP + HAProxy на одну из резервных ВМ?