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


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

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

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

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

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

  • У вас должен быть ресурс парка с одним или несколькими кластерами-членами. Если нет, выполните краткое руководство по созданию ресурса 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
    

Примечание.

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

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

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

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

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

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

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

  3. Для области обновления можно выбрать один из следующих трех вариантов:

    • Версия Kubernetes для пулов узлов и плоскости управления
    • Версия Kubernetes только для уровня управления кластера
    • Только версия образа узла

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

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

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

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

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

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

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

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

    Снимок экрана: страница портал Azure для кластеров членов Azure Kubernetes Fleet Manager.

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

    Снимок экрана: страница портал Azure для добавления кластеров-членов в Диспетчер парка Azure Kubernetes и назначения их группам.

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

    Снимок экрана: страница портал Azure для назначения существующих кластеров-членов группе.

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

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

Примечание.

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

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

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

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

  2. Укажите имя для запуска обновления, а затем выберите "Этапы" для типа последовательности обновления.

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

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

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

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

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

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

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

    • Версия Kubernetes для пулов узлов и плоскости управления
    • Версия Kubernetes только для уровня управления кластера
    • Только версия образа узла

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

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

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

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

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

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

Примечание.

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

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

  • Подход 1. При создании запуска обновления можно сохранить стратегию обновления.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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