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


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

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

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

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

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

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

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

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

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

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    
  • Если вы выполняете инструкции по 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
    

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

Примечание.

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

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

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

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

  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. В меню службы в разделе "Параметры" выберите "Добавить кластеры>участников".

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

  3. Выберите кластер, который требуется добавить, и нажмите кнопку "Далее: просмотр и добавление".

  4. Введите имя группы обновлений, которой нужно назначить кластер, и нажмите кнопку "Добавить".

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

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

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

  3. Выберите кластер или кластеры, которые вы хотите назначить группе обновлений, а затем выберите " Назначить группу обновлений"

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

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

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

Примечание.

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

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

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

  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 с этапами выполнения обновления, которые сохраняются в качестве стратегии обновления.

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

  1. Перейдите на страницу обновления с несколькими кластерами>и выберите "Стратегии создания стратегии":

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

  2. Настройте сведения о стратегии обновления и нажмите кнопку "Создать".

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

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

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

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

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

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

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

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

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

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

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

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

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

Дополнительные сведения о диспетчере флотов Azure Kubernetes.