В этом документе объясняется, как реализовать отказоустойчивость между кластерами для приложений на основе много кластерной сервисной сетки с использованием приложения Bookinfo в качестве примера.
В левом навигационном меню нажмите Service Mesh > Mesh.
Нажмите имя сервисной сетки, которую нужно настроить.
На вкладке Mesh Policies нажмите Create Policy > Circuit Breaker с правой стороны кластера c1
.
Если нет особых требований, используйте параметры по умолчанию.
Если служба не настроена с Circuit Breaker Policy, конфигурация Failover не будет применяться к ней, и входящий трафик будет случайным образом распределяться между Pods службы в различных кластерах сервисной сетки. Если служба настроена с Circuit Breaker Policy, входящий трафик будет направляться внутри кластера службы до тех пор, пока все Pods в этом кластере не будут отключены.
На вкладке Mesh Policies нажмите Create Policy > Regional Load Balancing с правой стороны кластера c1
.
Выберите Failover в качестве Policy Type и настройте связанные параметры, как указано ниже.
Параметр | Описание |
---|---|
Failure Region | Регион кластера, где находятся отключенные сервисные Pods, т.е. регион кластера, где настроена политика. |
Disaster Recovery Region | Регион, который предоставляет балансировку нагрузки для кластера, где находятся отключенные сервисные Pods. |
После настройки политики отказоустойчивости, когда сервисные Pods в кластере региона отказа отключаются и доля здоровья сервисных Pods в кластере меньше 71,43% (100/Фактор избыточного распределения), часть входящего трафика для сервиса в этом кластере будет приоритизироваться к сервисным Pods в кластере региона восстановления после катастрофы.
Например, после настройки политики отказоустойчивости для кластера c1
(регион восстановления после катастрофы - регион кластера c2
), если доля здоровья сервисных Pods продукта productpage в кластере региона отказа c1
составляет 50%, то 50% * 1.4 = 70%
трафика для сервиса в кластере c1
будет обрабатываться сервисными Pods в кластере региона отказа c1
, а оставшиеся 30% трафика будут обрабатываться сервисными Pods в кластере региона восстановления после катастрофы c2
.
Если отказоустойчивость не настроена, трафик будет случайным образом распределяться между кластерами в сетке.
Для получения подробной информации о приоритете трафика по уровням, смотрите Приоритеты.
Нажмите Create.
В верхней навигационной панели щелкните переключатель просмотра продукта, чтобы переключиться на Container Platform и войдите в пространство имен ns1
под кластером c1
.
В левом навигационном меню нажмите Compute Components > Deployments.
Нажмите имя развертывания продукта productpage.
Нажмите Stop в правом верхнем углу, чтобы остановить все Pods продукта productpage.
Обратитесь к методу Проверка доступа для продолжения доступа к службе productpage на основе конфигурации маршрутизации (External Access Address
), созданной шлюзом, развернутым в кластере c1
.
Примечание: Если к приложению Bookinfo по-прежнему можно получить доступ, это означает, что отказоустойчивость между кластерами была достигнута. Кроме того, вы можете перейти на платформу Service Mesh, чтобы дополнительно проверить пересылку трафика, просматривая топологию услуги (между кластерами) и цепочки вызовов.