Оркестрация обновлений в нескольких кластерах с помощью Azure Kubernetes Fleet Manager
Администраторы платформы, управляющие парками Kubernetes с большим количеством кластеров, часто имеют проблемы с промежуточными обновлениями в безопасном и прогнозируемом способе в нескольких кластерах. Чтобы устранить эту проблему, Kubernetes Fleet Manager (Fleet) позволяет управлять обновлениями в нескольких кластерах с помощью запусков обновлений, этапов, групп и стратегий.
Необходимые компоненты
Ознакомьтесь с концептуальным обзором этой функции, которая содержит описание стратегий обновления, запусков, этапов и ссылок на группы в этом документе.
У вас должен быть ресурс парка с одним или несколькими кластерами-членами. Если нет, выполните краткое руководство по созданию ресурса 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
предоставляет простой подход для обновления всех кластеров членов парка в последовательности по одному. - Последовательность элементов управления кластерами с помощью групп обновлений и этапов . Если требуется управлять последовательностью обновления кластеров, можно структурировать кластеры-члены в группах обновлений и этапы обновления. Кроме того, эта последовательность может храниться в виде шаблона в виде стратегии обновления. Последующие запуски обновлений можно создавать из стратегий обновления, а не определять последовательность каждый раз, когда необходимо создать запуск обновления на основе этапов.
Обновление всех кластеров по одному
На странице ресурса Azure Kubernetes Fleet Manager перейдите в меню обновления с несколькими кластерами и выберите "Создать".
Выбор одного на один обновляет все кластеры членов парка в последовательности по одному.
Для области обновления можно выбрать один из следующих трех вариантов:
- Версия Kubernetes для пулов узлов и плоскости управления
- Версия Kubernetes только для уровня управления кластера
- Только версия образа узла
Для образа узла доступны следующие параметры:
- Последнее: обновляет каждый кластер AKS в обновлении до последнего образа, доступного для этого кластера в своем регионе.
- Согласованность. Так как запуск обновления может иметь кластеры AKS в нескольких регионах, где последние доступные образы узлов могут отличаться ( средство отслеживания выпуска для получения дополнительных сведений). Запуск обновления выбирает последний общий образ во всех этих регионах для обеспечения согласованности.
Обновление кластеров в определенном порядке
Группы обновлений и этапы обеспечивают более контроль над последовательностью, которая выполняется при обновлении кластеров. На этапе обновления обновления обновления применяются ко всем разным группам обновлений параллельно; в группе обновлений кластеры-члены обновляются последовательно.
Назначение кластера группе обновлений
Кластер-член можно назначить определенной группе обновлений одним из двух способов.
- Назначьте группе при добавлении кластера-члена в парк. Например:
- Второй способ — назначить существующего члена парка группе обновлений. Например:
Примечание.
Любой член флота может быть только частью одной группы обновления, но группа обновлений может иметь несколько членов флота внутри него. Сама группа обновления не является отдельным типом ресурса. Группы обновления — это только строки, представляющие ссылки из членов флота. Таким образом, если все члены парка со ссылками на общую группу обновлений удаляются, эта конкретная группа обновлений перестанет существовать.
Определение запуска обновления и этапов
Вы можете определить запуск обновления с помощью этапов обновления, чтобы последовательно упорядочить приложение обновлений для разных групп обновлений. Например, первый этап обновления может обновлять кластеры участников тестовой среды, а второй этап обновления будет обновлять кластеры членов рабочей среды. Можно также указать время ожидания между этапами обновления.
На странице ресурса Azure Kubernetes Fleet Manager перейдите к обновлению с несколькими кластерами. На вкладке "Запуски" нажмите кнопку "Создать".
Укажите имя для запуска обновления, а затем выберите "Этапы" для типа последовательности обновления.
Выберите " Создать этап". Теперь можно указать имя этапа и длительность ожидания после каждого этапа.
Выберите группы обновлений, которые необходимо включить на этом этапе.
После определения всех этапов их можно упорядочить с помощью элементов управления "Переместить вверх " и "Переместить вниз ".
Для области обновления можно выбрать один из следующих трех вариантов:
- Версия Kubernetes для пулов узлов и плоскости управления
- Версия Kubernetes только для уровня управления кластера
- Только версия образа узла
Для образа узла доступны следующие параметры:
- Последнее: обновляет каждый кластер AKS в обновлении до последнего образа, доступного для этого кластера в своем регионе.
- Согласованность. Так как запуск обновления может иметь кластеры AKS в нескольких регионах, где последние доступные образы узлов могут отличаться ( средство отслеживания выпуска для получения дополнительных сведений). Запуск обновления выбирает последний общий образ во всех этих регионах для обеспечения согласованности.
Щелкните "Создать" в нижней части страницы, чтобы создать запуск обновления. Указание этапов и их порядка каждый раз при создании запуска обновления может получить повторяющиеся и громоздкие. Стратегии обновления упрощают этот процесс, позволяя хранить шаблоны для выполнения обновлений. Дополнительные сведения см. в статье о создании и использовании стратегии обновления.
В меню обновления с несколькими кластерами выберите запуск обновления и нажмите кнопку "Пуск".
Создание запуска обновления с помощью стратегий обновления
При создании запуска обновления необходимо указывать этапы, группы и их порядок каждый раз. Стратегии обновления упрощают этот процесс, позволяя хранить шаблоны для выполнения обновлений.
Примечание.
Можно создать несколько запусков обновлений с уникальными именами из одной стратегии обновления.
Создайте стратегию обновления: существует два способа создания стратегии обновления:
Подход 1. При создании запуска обновления можно сохранить стратегию обновления.
Подход 2. Вы можете перейти к обновлению с несколькими кластерами и выбрать команду "Создать " на вкладке "Стратегия ".
Используйте стратегию обновления для создания запуска обновления: при создании последующих запусков обновления можно ссылаться на созданную стратегию обновления:
Управление запуском обновления
Существует несколько вариантов управления запусками обновлений:
На вкладке обновления с несколькими кластерами ресурса парка можно запустить запуск обновления, который находится в состоянии "Не запущен" или "Не выполнено".
На вкладке "Обновление нескольких кластеров" ресурса парка можно остановить текущий запуск обновления.
В любом запуске обновления в состоянии "Не запущено", "Сбой" или "Запуск" можно выбрать любой этап и пропустить обновление.
Вы также можете пропустить обновление на уровне группы обновления или кластера-члена.
Дополнительные сведения см . в концептуальном обзоре состояний выполнения обновления и пропустить поведение на этапах выполнения или группах.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по