Поделиться через


Сценарии отработки отказа Kubernetes на кластеризованном устройстве Azure Stack Edge

Кластер Kubernetes развертывается как популярная платформа с открытым кодом для оркестрации контейнерных приложений. В этой статье описывается, как Kubernetes работает на устройстве Azure Stack Edge 2 узла, включая режимы сбоя и соответствующие ответы устройства.

Сведения о Kubernetes в Azure Stack Edge

На устройстве Azure Stack Edge можно создать кластер Kubernetes, настроив вычислительные ресурсы. После настройки роли вычислений кластер Kubernetes (в том числе главные и рабочие узлы) развертывается и настраивается автоматически. Затем кластер используется для развертывания рабочих нагрузок с помощью kubectl, IoT Edge или Azure Arc.

Устройство Azure Stack Edge доступно в виде конфигурации 1 узла или конфигурации с 2 узлами, которая представляет собой кластер инфраструктуры. Кластер Kubernetes отделен от кластера инфраструктуры и развертывается поверх него. Кластер инфраструктуры предоставляет постоянное хранилище для устройства Azure Stack Edge, а кластер Kubernetes несет ответственность исключительно за оркестрацию приложений.

Кластер Kubernetes состоит из главного узла и рабочих узлов. Узлы Kubernetes в кластере представляют собой виртуальные машины, на которых выполняются приложения и облачные рабочие процессы.

  • Главный узел Kubernetes отвечает за поддержание нужного состояния кластера. Главный узел также управляет рабочим узлом.
  • Рабочие узлы запускают контейнерные приложения.

Кластер Kubernetes на устройстве с двумя узлами

Кластер Kubernetes на устройстве с 2-узлом имеет один главный узел и два рабочих узла. Устройство с 2-узлом высокодоступно, и если один из узлов завершается сбоем, устройство и кластер Kubernetes продолжают работать. Дополнительные сведения об архитектуре кластеров Kubernetes см. в статье об основных понятиях, связанных с Kubernetes.

На 2-узле устройства Azure Stack Edge главный виртуальная машина Kubernetes и рабочая виртуальная машина Kubernetes выполняются на узле A устройства. На узле B выполняется одна рабочая виртуальная машина Kubernetes.

Каждая рабочая виртуальная машина в кластере Kubernetes — это закрепленная виртуальная машина Hyper-V. Закрепленная виртуальная машина привязана к конкретному узлу, на котором она работает. Если узел A на устройстве завершается ошибкой, главная виртуальная машина выполняет отработку отказа на узел B. Но рабочая виртуальная машина на узле A, которая является закрепленной виртуальной машиной, не выполняет отработку отказа на узел B и наоборот. Вместо этого модули pod из рабочей виртуальной машины на узле A перебалансируются на узел B.

Чтобы перебалансированные модули pod имели достаточно емкости для запуска на узле устройства B, система принудительно применяет, что во время обычных операций кластера Azure Stack Edge используется не более 50 % емкости каждого узла ASE. Это использование емкости выполняется на основе наилучших усилий, и существуют обстоятельства (например, рабочие нагрузки, требующие недоступных ресурсов GPU при перебалансе на узел ASE B), в которых перебалансированные модули pod могут не иметь достаточных ресурсов для выполнения.

Эти сценарии подробно описаны в следующем разделе о режимах сбоя и поведении.

Режимы сбоя и поведение

Узлы устройств Azure Stack Edge могут завершиться сбоем в определенных условиях. В этом разделе приведены табуляции различные режимы сбоев и соответствующие ответы устройства.

Сбои или перезагрузки узла Azure Stack Edge

Узел Сбои Отклики
Узел A имеет сбои
(Узел B не имеет сбоев)
Могут возникнуть следующие возможные сбои:
  • Сбой обоих ЦС
  • Один или оба порта 3, сбой порта 4
  • Сбой основного компонента, включает системную плату, DIMM, диск ОС
  • Сбой всего узла
    Для каждого из этих сбоев отображаются следующие ответы:
    • Отработка отказа главной виртуальной машины Kubernetes с узла A на узел B
    • Виртуальная машина master занимает несколько минут, чтобы приступить к узлу B
    • Модули pod из узла A перебалансируются на узле B
    • Рабочие нагрузки GPU продолжают работать, если GPU доступен на узле B
    Перезагрузка узла A
    (Узел B не имеет сбоев)
    Перезагрузки узла После завершения перезагрузки узла A и доступности рабочей виртуальной машины главный виртуальная машина перебалансирует модули pod из узла B.
    Узел B имеет сбои
    (Узел A не имеет сбоев)
    Могут возникнуть следующие возможные сбои:
    • Сбой обоих ЦС
    • Один или оба порта 3, сбой порта 4
    • Сбой основного компонента, включает системную плату, DIMM, диск ОС
    • Сбой всего узла
      Для каждого из этих сбоев отображаются следующие ответы:
      • Главного виртуальных машин Kubernetes перебалансирует модули pod из узла B. Это может занять несколько минут.
      Перезагрузка узла B
      (Узел A не имеет сбоев)
      Перезагрузки узла После завершения перезагрузки узла B и доступности рабочей виртуальной машины главный виртуальная машина перебалансирует модули pod из узла B.

      Обновления узлов Azure Stack Edge

      Тип обновления Отклики
      Обновление узла устройства Последовательное обновление применяется к узлам устройства, а узлы перезагрузятся.
      Обновление службы Kubernetes Обновление службы Kubernetes включает:
      • Отработка отказа главной виртуальной машины Kubernetes с узла устройства A на узел устройства B
      • Главное обновление Kubernetes.
      • Обновления рабочего узла Kubernetes (необязательно в этом порядке).
      Весь процесс обновления может занять 30 минут или более, и во время этого окна кластер Kubernetes доступен для любых операций управления (например, для развертывания новой рабочей нагрузки). Хотя модули pod будут удалены из узла устройства во время обновления, рабочие нагрузки могут находиться в автономном режиме в течение нескольких секунд во время этого процесса.

      Следующие шаги

      • Дополнительные сведения о хранилище Kubernetes на устройстве Azure Stack Edge.
      • Сведения о сетевой модели Kubernetes на устройстве Azure Stack Edge.
      • Разверните Azure Stack Edge на портале Azure.