Обновление образов Kubernetes и узлов в нескольких кластерах с помощью Azure Kubernetes Fleet Manager
Администраторы платформы, управляющие большим количеством кластеров, часто имеют проблемы с промежуточными обновлениями нескольких кластеров (например, обновление образа ОС узла или версий Kubernetes) безопасным и предсказуемым способом. Чтобы устранить эту проблему, диспетчер флотов Azure Kubernetes (Fleet) позволяет управлять обновлениями в нескольких кластерах с помощью запусков обновлений.
Запуски обновлений состоят из этапов, групп и стратегий и могут применяться вручную для однократных обновлений или автоматически для текущих регулярных обновлений с помощью профилей автоматического обновления. Все запуски обновлений (вручную или автоматизированные) выполняются в период обслуживания кластера-члена.
В этом руководстве описано, как настроить и вручную выполнить запуски обновлений.
Необходимые компоненты
Ознакомьтесь с концептуальным обзором этой функции, которая содержит описание стратегий обновления, запусков, этапов и групп, на которые ссылается в этом руководстве.
У вас должен быть ресурс 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
предоставляет простой подход к обновлению всех кластеров членов парка в последовательности по одному. - Последовательность элементов управления кластерами с помощью групп обновлений и этапов. Если вы хотите управлять последовательностью обновления кластера, можно структурировать кластеры-члены в группах обновлений и этапы обновления. Эту последовательность можно сохранить в виде стратегии обновления. Вы можете создавать обновления позже с помощью стратегий обновления вместо определения последовательности при каждом запуске обновления.
Обновление всех кластеров по одному
В портал Azure перейдите к ресурсу Azure Kubernetes Fleet Manager.
В меню службы в разделе "Параметры" выберите "Создать>запуск с несколькими кластерами".
Введите имя для запуска обновления и выберите один по одному для типа обновления.
Выберите один из следующих параметров для области обновления:
- Версия Kubernetes для пулов узлов и плоскости управления
- Версия Kubernetes только для уровня управления кластера
- Только версия образа узла
Выберите один из следующих параметров для образа Node:
- Последнее изображение: обновляет каждый кластер AKS в обновлении до последнего образа, доступного для этого кластера в своем регионе.
- Согласованный образ. Так как обновление может иметь кластеры AKS в нескольких регионах, где последние доступные образы узлов могут отличаться ( проверка отслеживания выпуска для получения дополнительных сведений). Запуск обновления выбирает последний общий образ во всех этих регионах для обеспечения согласованности.
Нажмите кнопку "Создать", чтобы создать запуск обновления.
Назначение кластеров для обновлений групп и этапов
Группы обновлений и этапы обеспечивают более контроль над последовательностью, которая выполняется при обновлении кластеров. На этапе обновления обновления обновления применяются ко всем разным группам обновлений параллельно. В группе обновлений кластеры членов обновляются последовательно.
Кластер-член можно назначить определенной группе обновлений одним из двух способов:
- Назначьте группе при добавлении кластера-члена в парк.
- Назначьте существующему члену парка группе обновлений.
Назначение группе при добавлении кластера-члена в парк
В портал Azure перейдите к ресурсу Azure Kubernetes Fleet Manager.
В меню службы в разделе "Параметры" выберите "Добавить кластеры>участников".
Выберите кластер, который требуется добавить, и нажмите кнопку "Далее: просмотр и добавление".
Введите имя группы обновлений, которой нужно назначить кластер, и нажмите кнопку "Добавить".
Назначение существующего члена парка группе обновлений
В портал Azure перейдите к ресурсу Azure Kubernetes Fleet Manager.
В меню службы в разделе "Параметры" выберите "Кластеры участников".
Выберите кластер или кластеры, которые вы хотите назначить группе обновлений, а затем выберите " Назначить группу обновлений"
Введите имя группы обновлений, которой нужно назначить кластер, и нажмите кнопку "Назначить".
Примечание.
Член флота может быть только частью одной группы обновлений, но группа обновлений может иметь несколько членов флота, назначенных ему. Сама группа обновления не является отдельным типом ресурса. Группы обновления — это только строки, представляющие ссылки из членов флота. Таким образом, если все члены парка со ссылками на общую группу обновлений удаляются, эта конкретная группа обновлений перестанет существовать.
Определение запуска обновления и этапов
Вы можете определить запуск обновления с помощью этапов обновления, чтобы последовательно упорядочить приложение обновлений для разных групп обновлений. Например, первый этап обновления может обновлять кластеры участников тестовой среды, а второй этап обновления будет обновлять кластеры членов рабочей среды. Можно также указать время ожидания между этапами обновления.
В портал Azure перейдите к ресурсу Azure Kubernetes Fleet Manager.
В меню службы в разделе "Параметры" выберите "Создать>запуск с несколькими кластерами".
Введите имя для запуска обновления и выберите этапы для типа последовательности обновления.
Выберите " Создать этап", а затем введите имя этапа и время ожидания между этапами.
Выберите группы обновления, которые необходимо включить на этом этапе. Можно также указать порядок групп обновлений, если вы хотите обновить их в определенной последовательности. По завершении нажмите Создать.
Выберите один из следующих параметров для области обновления:
- Версия Kubernetes для пулов узлов и плоскости управления
- Версия Kubernetes только для уровня управления кластера
- Только версия образа узла
Выберите один из следующих параметров для образа Node:
- Последнее изображение: обновляет каждый кластер AKS в обновлении до последнего образа, доступного для этого кластера в своем регионе.
- Согласованный образ. Так как обновление может иметь кластеры AKS в нескольких регионах, где последние доступные образы узлов могут отличаться ( проверка отслеживания выпуска для получения дополнительных сведений). Запуск обновления выбирает последний общий образ во всех этих регионах для обеспечения согласованности.
Нажмите кнопку "Создать", чтобы создать запуск обновления.
Указание этапов и их порядка каждый раз при создании запуска обновления может получить повторяющиеся и громоздкие. Стратегии обновления упрощают этот процесс, позволяя хранить шаблоны для выполнения обновлений. Дополнительные сведения см. в статье о создании и использовании стратегии обновления.
В меню обновления с несколькими кластерами выберите запуск обновления и нажмите кнопку "Пуск".
Создание запуска обновления с помощью стратегий обновления
Для создания запуска обновления необходимо указать этапы, группы, порядок каждый раз. Стратегии обновления упрощают этот процесс, позволяя хранить шаблоны для выполнения обновлений.
Примечание.
Можно создать несколько запусков обновления с уникальными именами из одной стратегии обновления.
Вы можете создать стратегию обновления с помощью одного из следующих методов:
- Сохраните стратегию обновления при создании запуска обновления с помощью портал Azure.
- Создайте новую стратегию обновления, а затем сослаться на нее при создании запуска обновления.
Сохранение стратегии обновления при создании запуска обновления
Создайте новую стратегию обновления и сослаться на нее при создании запуска обновления
Управление запуском обновления
В следующих разделах объясняется, как управлять запуском обновления с помощью портал Azure и Azure CLI.
На странице обновления нескольких кластеров ресурса парка можно запустить запуск обновления, который находится в состоянии "Не запущен" или "Не выполнено".
На странице обновления с несколькими кластерами ресурса парка можно остановить запуск обновления в данный момент:
В любом запуске обновления в состоянии "Не запущено", "Сбой" или "Выполнение ", можно выбрать любой этап и пропустить обновление:
Вы также можете пропустить обновление на уровне группы обновления или кластера-члена.
Дополнительные сведения см. в концептуальном обзоре состояний выполнения обновления и пропустить поведение при выполнении или этапах или группах.
Следующие шаги
Дополнительные сведения о диспетчере флотов Azure Kubernetes.
Azure Kubernetes Service