Оркестрация обновлений в нескольких кластерах с помощью Azure Kubernetes Fleet Manager

Администраторы платформы, управляющие парками Kubernetes с большим количеством кластеров, часто имеют проблемы с промежуточными обновлениями в безопасном и прогнозируемом способе в нескольких кластерах. Чтобы устранить эту проблему, Kubernetes Fleet Manager (Fleet) позволяет управлять обновлениями в нескольких кластерах с помощью запусков обновлений, этапов, групп и стратегий.

Screenshot of the Azure portal pane for a fleet resource, showing member cluster Kubernetes versions and node images in use across all node pools of member clusters.

Необходимые компоненты

  • Ознакомьтесь с концептуальным обзором этой функции, которая содержит описание стратегий обновления, запусков, этапов и ссылок на группы в этом документе.

  • У вас должен быть ресурс парка с одним или несколькими кластерами-членами. Если нет, выполните краткое руководство по созданию ресурса Fleet и присоединению кластеров Служба Azure Kubernetes (AKS) в качестве членов. В этом пошаговом руководстве демонстрируется ресурс флота с пятью кластерами членов AKS в качестве примера.

  • Установите указанные ниже переменные среды.

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    
  • Если вы выполняете инструкции по Azure CLI в этой статье, вам потребуется azure CLI версии 2.53.1 или более поздней версии. Чтобы выполнить установку или обновление Azure CLI, ознакомьтесь с этой статьей.

  • Вам также требуется fleet расширение Azure CLI, которое можно установить, выполнив следующую команду:

    az extension add --name fleet
    

    Выполните следующую команду, чтобы обновить до последней версии выпущенного расширения:

    az extension update --name fleet
    

Обновление всех кластеров по одному

  1. На странице ресурса Azure Kubernetes Fleet Manager перейдите в меню обновления с несколькими кластерами и выберите "Создать".

  2. Вы можете выбрать один на один или этап.

    Screenshot of the Azure portal pane for creating update runs that update clusters one by one in Azure Kubernetes Fleet Manager.

  3. Для обновления область можно либо обновить версию Kubernetes, так и версию образа узла или обновить только версию образа узла.

    Screenshot of the Azure portal pane for creating update runs. The upgrade scope section is shown.

    Для образа узла доступны следующие параметры:

    • Последняя версия: Обновления каждый кластер AKS в обновлении запуска до последнего образа, доступного для этого кластера в своем регионе.
    • Согласованность. Так как запуск обновления может иметь кластеры AKS в нескольких регионах, где последние доступные образы узлов могут отличаться (проверка отслеживания выпуска для получения дополнительных сведений). Запуск обновления выбирает последний общий образ во всех этих регионах для обеспечения согласованности.

Обновление кластеров в определенном порядке

Группы обновлений и этапы обеспечивают более контроль над последовательностью, которая выполняется при обновлении кластеров. На этапе обновления обновления обновления применяются ко всем разным группам обновлений параллельно; в группе обновлений кластеры-члены обновляются последовательно.

Назначение кластера группе обновлений

Кластер-член можно назначить определенной группе обновлений одним из двух способов.

  • Назначьте группе при добавлении кластера-члена в парк. Например:
  1. На странице ресурса Azure Kubernetes Fleet Manager перейдите в кластеры участников.

    Screenshot of the Azure portal page for Azure Kubernetes Fleet Manager member clusters.

  2. Укажите группу обновления, к которой должен принадлежать кластер-член.

    Screenshot of the Azure portal page for adding member clusters to Azure Kubernetes Fleet Manager and assigning them to groups.

  • Второй способ — назначить существующего члена парка группе обновлений. Например:
  1. На странице ресурса Azure Kubernetes Fleet Manager перейдите к кластерам участников. Выберите нужные кластеры-члены и выберите команду "Назначить группу обновлений".

    Screenshot of the Azure portal page for assigning existing member clusters to a group.

  2. Укажите имя группы и нажмите кнопку "Назначить".

    Screenshot of the Azure portal page for member clusters that shows the form for updating a member cluster's group.

Примечание.

Любой член флота может быть только частью одной группы обновления, но группа обновлений может иметь несколько членов флота внутри него. Сама группа обновления не является отдельным типом ресурса. Группы обновления — это только строки, представляющие ссылки из членов флота. Таким образом, если все члены парка со ссылками на общую группу обновлений удаляются, эта конкретная группа обновлений перестанет существовать.

Определение запуска обновления и этапов

Вы можете определить запуск обновления с помощью этапов обновления, чтобы последовательно упорядочить приложение обновлений для разных групп обновлений. Например, первый этап обновления может обновить кластеры участников тестовой среды, а второй этап обновления затем обновит кластеры членов рабочей среды. Можно также указать время ожидания между этапами обновления.

  1. На странице ресурса Azure Kubernetes Fleet Manager перейдите к обновлению с несколькими кластерами и нажмите кнопку "Создать".

  2. Выберите этапы, а затем выберите образ узла (последняя версия) + версия Kubernetes или образ узла (последняя версия) в зависимости от требуемого обновления область.

  3. В разделе "Этапы" выберите "Создать этап". Теперь можно указать имя этапа и длительность ожидания после каждого этапа.

    Screenshot of the Azure portal page for creating a stage and defining wait time.

  4. Выберите группы обновлений, которые необходимо включить на этом этапе.

    Screenshot of the Azure portal page for stage creation that shows the selection of upgrade groups.

  5. После определения всех этапов и упорядочивания их с помощью элементов управления "Переместить вверх и вниз " перейдите к созданию запуска обновления.

  6. В меню обновления с несколькими кластерами выберите запуск обновления и нажмите кнопку "Пуск".

Создание запуска обновления с помощью стратегий обновления

В предыдущем разделе создание запуска обновления требует указания этапов, групп и их порядка каждый раз. Стратегии обновления упрощают это, позволяя хранить шаблоны для выполнения обновлений.

Примечание.

Можно создать несколько запусков обновлений с уникальными именами из одной стратегии обновления.

При создании запусков обновления вы можете одновременно создать стратегию обновления, эффективно сохраняя запуск в качестве шаблона для последующих запусков обновления.

  1. Сохраните стратегию обновления при создании запуска обновления:

    A screenshot of the Azure portal showing update run stages being saved as an update strategy.

  2. Созданную стратегию обновления можно ссылаться позже при создании последующих запусков обновлений:

    A screenshot of the Azure portal showing the creation of a new update run. The 'Copy from existing strategy' button is highlighted.