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


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

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

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

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

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

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

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

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

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

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

    az extension add --name fleet
    

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

    az extension update --name fleet
    

Создание запусков обновления

Запуск обновления поддерживает два варианта последовательности обновления кластера:

  • Один за одним: если вы не заботитесь об управлении последовательностью обновления кластера, one-by-one предоставляет простой подход к обновлению всех кластеров членов парка в последовательности по одному.
  • Последовательность элементов управления кластерами с помощью групп обновлений и этапов. Если вы хотите управлять последовательностью обновления кластера, можно структурировать кластеры-члены в группах обновлений и этапы обновления. Эту последовательность можно сохранить в виде шаблона в виде стратегии обновления. Вы можете создавать обновления позже с помощью стратегий обновления вместо определения последовательности при каждом запуске обновления.

Примечание.

Обновление выполняется с учетом запланированных периодов обслуживания, установленных на уровне кластера AKS. Дополнительные сведения см. в статье плановое обслуживание в нескольких кластерах-членах, в котором объясняется, как обновление выполняется для обработки кластеров членов, настроенных с запланированными периодами обслуживания.

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

  1. В портал Azure перейдите к ресурсу Azure Kubernetes Fleet Manager.

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

  3. Введите имя для запуска обновления и выберите один по одному для типа обновления.

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

  4. Выберите один из следующих параметров для области обновления:

    • Версия Kubernetes для пулов узлов и плоскости управления
    • Версия Kubernetes только для уровня управления кластера
    • Только версия образа узла
  5. Выберите один из следующих параметров для образа Node:

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

    Снимок экрана: панель портал Azure для создания запусков обновлений. Отображается раздел области обновления.

  6. Нажмите кнопку "Создать", чтобы создать запуск обновления.

Обновление кластеров с помощью групп и этапов

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

  1. В портал Azure перейдите к ресурсу Azure Kubernetes Fleet Manager.

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

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

    Снимок экрана: страница портал Azure для выбора режима этапов в ходе выполнения обновления.

  4. Выберите " Создать этап", а затем введите имя этапа и время ожидания между этапами.

    Снимок экрана: страница портал Azure для создания этапа и определения времени ожидания.

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

    Снимок экрана: страница портал Azure для создания этапа, в котором показан выбор групп обновления.

  6. Выберите один из следующих параметров для области обновления:

    • Версия Kubernetes для пулов узлов и плоскости управления
    • Версия Kubernetes только для уровня управления кластера
    • Только версия образа узла
  7. Выберите один из следующих параметров для образа Node:

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

    Снимок экрана: панель портал Azure для создания запусков обновлений. Отображается раздел области обновления.

  8. Нажмите кнопку "Создать", чтобы создать запуск обновления.

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

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

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

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

Примечание.

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

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

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

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

    Снимок экрана: портал Azure с этапами выполнения обновления, которые сохраняются в качестве стратегии обновления.

Управление запуском обновления

В следующих разделах объясняется, как управлять запуском обновления с помощью портал Azure и Azure CLI.

  • На странице обновления нескольких кластеров ресурса парка можно запустить запуск обновления, который находится в состоянии "Не запущен" или "Не выполнено".

    Снимок экрана: портал Azure, показывающий, как запустить обновление в состоянии

  • На странице обновления с несколькими кластерами ресурса парка можно остановить запуск обновления в данный момент:

    Снимок экрана: портал Azure, показывающий, как остановить запуск обновления в состоянии

  • В любом запуске обновления в состоянии "Не запущено", "Сбой" или "Выполнение ", можно выбрать любой этап и пропустить обновление:

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

    Вы также можете пропустить обновление на уровне группы обновления или кластера-члена.

Дополнительные сведения см. в концептуальном обзоре состояний выполнения обновления и пропустить поведение при выполнении или этапах или группах.

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