У меня есть распределенное приложение, работающее на виртуальных машинах, среди которых у меня есть одна служба, работающая в активном/пассивном режиме. Активная виртуальная машина предоставляет услугу через публичный IP-адрес. В случае сбоя активной виртуальной машины публичный IP-адрес будет перемещен в пассивную виртуальную машину, и пассивная виртуальная машина станет активной и начнет предоставлять услугу.Как следует использовать приложения с использованием активной/пассивной избыточной модели с использованием кубернетов?
Как этот шаблон подходит для контейнерных приложений, управляемых кубернетами?
Если я использую контроллер репликации с репликами = 1, в случае сбоя узла/миньона контроллер репликации перепланирует pod (= VM в моем текущем приложении) в другом миньоне, но это, вероятно, приведет к большому времени простоя по сравнению с мое текущее решение, в котором перемещается только IP-ресуремент.
Если я использую контроллер репликации с replicas = 2, тогда мне нужно будет иметь другую конфигурацию с двумя контейнерами (один с открытым IP-адресом, а другой без), который является анти-шаблоном? Более того, в кубернетах не предусмотрено никакого способа поддерживать виртуальный IP (перемещать струи aroud.)?
ИЛИ следует использовать replicas = 2 и реализовать что-то самостоятельно для управления IP (или, возможно, использовать кардиостимулятор?), Это вызовет еще одну проблему: в моем приложении будут использоваться кузнецы и кардиостимулятор/corosync)
так, как это должно быть сделано?
Есть ли причина, по которой вы не можете постоянно балансировать баланс между двумя активными репликами? Как выглядит процедура перехода на другой ресурс? У вас есть база данных, и если да, потеряете ли вы фиксации, если первичный сбой? –
Активная/пассивная ВМ сама по себе является балансировкой нагрузки в моем приложении. Это единственный компонент, обеспечивающий внешнюю связь. Actaully У меня несколько активных/пассивных пар зависит от требуемой емкости. Каждая пара имеет один открытый IP-адрес. –
Процедура отказоустойчивости в настоящее время реализована с помощью собственной системы восстановления, в основном она контролирует виртуальную машину и выполняет переход на другой ресурс, если атакующая виртуальная машина не выполнена. Я думаю, что кардиостимулятор в качестве управления ресурсами поддерживает этот случай с помощью агента ресурсов IP. Тем не менее, использование кардиостимулятора вместе с Kubernetes, кажется, как-то противоречиво, поскольку оба они обеспечивают управление кластерами. –