Настройка и проверка отказоустойчивости между кластерами
В этом документе объясняется, как реализовать отказоустойчивость между кластерами для приложений на основе мультикластерной сервисной сетки с использованием приложения Bookinfo в качестве примера.
Содержание
Шаги
-
В левой навигационной панели нажмите Service Mesh > Mesh.
-
Нажмите на название сервисной сетки, которую нужно настроить.
-
На вкладке Mesh Policies справа от кластера
c1нажмите Create Policy > Circuit Breaker.NOTE-
Если нет особых требований, используйте параметры по умолчанию.
-
Если для сервиса не настроена Circuit Breaker Policy, конфигурация Failover для него не будет работать, и входящий трафик будет случайным образом распределяться между Pod-ами сервиса во всех кластерах сервисной сетки. Если для сервиса настроена Circuit Breaker Policy, входящий трафик будет маршрутизироваться внутри кластера сервиса до тех пор, пока все Pod-ы в этом кластере не выйдут из строя.
-
-
На вкладке Mesh Policies справа от кластера
c1нажмите Create Policy > Regional Load Balancing. -
Выберите Failover в качестве Policy Type и настройте соответствующие параметры, как описано ниже.
NOTEПосле настройки политики отказоустойчивости, когда Pod-ы сервиса в кластере региона отказа выходят из строя и коэффициент здоровья Pod-ов сервиса в кластере становится меньше 71.43% (100/Overprovisioning Factor), часть входящего трафика для сервиса в этом кластере будет приоритетно направлена на Pod-ы сервиса в кластере региона аварийного восстановления.
Например, после настройки политики отказоустойчивости для кластера
c1(регион аварийного восстановления — регион кластераc2), если коэффициент здоровья Pod-ов сервиса productpage в кластере региона отказаc1составляет 50%, то50% * 1.4 = 70%трафика для сервиса в кластереc1будет обрабатываться Pod-ами сервиса в кластере региона отказаc1, а оставшиеся 30% трафика — Pod-ами сервиса в кластере региона аварийного восстановленияc2.
Если отказоустойчивость не настроена, трафик будет случайным образом распределяться между кластерами в сетке.Подробнее о приоритетах нагрузки трафика см. в разделе Priority levels.
-
Нажмите Create.
Метод проверки
-
В верхней навигационной панели переключитесь на Container Platform и перейдите в namespace
ns1в кластереc1. -
В левой навигационной панели нажмите Compute Components > Deployments.
-
Нажмите на название Deployment сервиса productpage.
-
В правом верхнем углу нажмите Stop, чтобы остановить все Pod-ы сервиса productpage.
-
Следуйте методу Access Verification для сервиса productpage, чтобы непрерывно обращаться к сервису productpage по маршруту (
External Access Address), созданному шлюзом, развернутым в кластереc1.Примечание: Если приложение Bookinfo по-прежнему доступно, это означает, что отказоустойчивость между кластерами успешно реализована. Дополнительно можно перейти на платформу Service Mesh для дальнейшей проверки маршрутизации трафика, просмотрев топологию сервиса (межкластера) и цепочки вызовов.