• Русский
  • Настройка и проверка отказоустойчивости между кластерами

    В этом документе объясняется, как реализовать отказоустойчивость между кластерами для приложений на основе мультикластерной сервисной сетки с использованием приложения Bookinfo в качестве примера.

    Содержание

    Шаги

    1. В левой навигационной панели нажмите Service Mesh > Mesh.

    2. Нажмите на название сервисной сетки, которую нужно настроить.

    3. На вкладке Mesh Policies справа от кластера c1 нажмите Create Policy > Circuit Breaker.

      NOTE
      • Если нет особых требований, используйте параметры по умолчанию.

      • Если для сервиса не настроена Circuit Breaker Policy, конфигурация Failover для него не будет работать, и входящий трафик будет случайным образом распределяться между Pod-ами сервиса во всех кластерах сервисной сетки. Если для сервиса настроена Circuit Breaker Policy, входящий трафик будет маршрутизироваться внутри кластера сервиса до тех пор, пока все Pod-ы в этом кластере не выйдут из строя.

    4. На вкладке Mesh Policies справа от кластера c1 нажмите Create Policy > Regional Load Balancing.

    5. Выберите Failover в качестве Policy Type и настройте соответствующие параметры, как описано ниже.

      ПараметрОписание
      Failure RegionРегион кластера, в котором находятся вышедшие из строя Pod-ы сервиса, то есть регион кластера, для которого настроена политика.
      Disaster Recovery RegionРегион, обеспечивающий балансировку нагрузки для кластера, в котором находятся вышедшие из строя Pod-ы сервиса.
      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.

    6. Нажмите Create.

    Метод проверки

    1. В верхней навигационной панели переключитесь на Container Platform и перейдите в namespace ns1 в кластере c1.

    2. В левой навигационной панели нажмите Compute Components > Deployments.

    3. Нажмите на название Deployment сервиса productpage.

    4. В правом верхнем углу нажмите Stop, чтобы остановить все Pod-ы сервиса productpage.

    5. Следуйте методу Access Verification для сервиса productpage, чтобы непрерывно обращаться к сервису productpage по маршруту (External Access Address), созданному шлюзом, развернутым в кластере c1.

      Примечание: Если приложение Bookinfo по-прежнему доступно, это означает, что отказоустойчивость между кластерами успешно реализована. Дополнительно можно перейти на платформу Service Mesh для дальнейшей проверки маршрутизации трафика, просмотрев топологию сервиса (межкластера) и цепочки вызовов.