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


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

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

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

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

Предварительные условия

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

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

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

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

    export GROUP=<resource-group>
    export FLEET=<fleet-name>
    export AUTOUPGRADEPROFILE=<upgrade-profile-name>
    # Optional
    export STRATEGYID=<strategy-id>
    export CLUSTER=<aks-cluster-name>
    
  • Вам нужна версия Azure CLI 2.70.0 или более поздняя. Чтобы выполнить установку или обновление Azure CLI, ознакомьтесь с этой статьей.

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

    az extension add --name fleet
    

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

    az extension update --name fleet
    

Примечание.

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

Создание профилей автоматического обновления

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

  2. В меню службы в разделе "Параметры выберите Обновление нескольких кластеров>Профили автоматического обновления.

  3. Выберите "Создать", введите имя профиля и выберите, включен профиль или нет. Отключенные профили автоматического обновления не активируются при выпуске новых версий.

  4. Выберите последовательность обновления: либо Этапы, либо Один за один.

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

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

    • Стабильный — обновление кластеров, используя исправления для предпоследней доступной минорной версии Kubernetes.
    • Быстрое обновление кластеров с исправлениями для последней минорной версии Kubernetes (N).
    • Образ узла — обновите только версию образа узла.
  6. Если выбрать стабильный или быстрый канал, можно выбрать способ применения обновлений образа узла:

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

    Скриншот панели портала Azure менеджера флота Azure Kubernetes для создания профиля автоматического обновления, который определяет запуск обновления.

    Примечание.

    Канал образов узла всегда использует согласованный образ.

  7. Если выбрана последовательность обновлений с помощью этапов, выберите или создайте стратегию.

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

  8. Выберите "Создать", чтобы создать профиль автоматического обновления.

Просмотр профиля автоматического обновления

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

  2. В меню службы в разделе "Параметры выберите Обновление нескольких кластеров>Профили автоматического обновления.

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

  3. Чтобы просмотреть ее конфигурацию, выберите нужный профиль автоматического обновления.

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

Удалите профиль автообновления

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

  2. В меню службы в разделе "Параметры выберите Обновление нескольких кластеров>Профили автоматического обновления.

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

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

Примечание.

Удаление профиля автоматического обновления не влияет на выполняемые обновления.

Проверка автоматического обновления

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

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

# Get Kubernetes version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query currentKubernetesVersion
# Get NodeImage version for a member cluster
az aks show \
  --resource-group $GROUP \
  --name $CLUSTER \
  --query "agentPoolProfiles[].{name:name,mode:mode, nodeImageVersion:nodeImageVersion, osSku:osSku, osType:osType}"

После завершения выполнения обновления можно повторно запустить эти команды и просмотреть обновленные версии, развернутые.


Используйте профиль автоматического обновления, чтобы запустить выполнение обновлений

При создании профиля автоматического обновления кластеры могут находиться в различных версиях Kubernetes или образа узла. В зависимости от выбранного канала автоматического обновления может потребоваться некоторое время, прежде чем новая версия образа Kubernetes или образа узла активирует автоматическое обновление для создания и выполнения запуска обновления. Автоматическое обновление предоставляет generate-update-run команду, которая создает новую операцию обновления с использованием текущей версии Kubernetes или образа узла, опубликованной AKS.

Дополнительные сведения о создании запуска обновления по запросу из профиля автоматического обновления см. в разделе "Создание запуска обновления" из профиля автоматического обновления.

Дальнейшие действия