Автоматизация обновлений образов Kubernetes и узлов в нескольких кластерах с помощью Azure Kubernetes Fleet Manager (предварительная версия)
Администраторы платформы, управляющие большим количеством кластеров, часто имеют проблемы с промежуточными обновлениями нескольких кластеров (например, обновление образа ОС узла или версий Kubernetes) безопасным и предсказуемым способом. Чтобы устранить эту проблему, диспетчер флотов Azure Kubernetes (Fleet) позволяет управлять обновлениями в нескольких кластерах с помощью запусков обновлений.
Запуски обновлений состоят из этапов, групп и стратегий и могут применяться вручную, для однократных обновлений или автоматически для текущих регулярных обновлений с помощью профилей автоматического обновления. Все запуски обновлений (вручную или автоматизированные) выполняются в период обслуживания кластера-члена.
В этой статье описывается, как использовать профили автоматического обновления для автоматического запуска обновлений при наличии новых версий образов Kubernetes или узлов.
Внимание
Предварительные версии функций Azure Kubernetes Fleet Manager доступны на основе самообслуживания. Предварительные версии предоставляются "как есть" и "при наличии". На них не распространяются соглашения об уровне обслуживания и ограниченная гарантия. Предварительные версии Диспетчера флотов Azure Kubernetes частично охватываются поддержкой клиентов на основе лучших усилий. Следовательно, эти функции не предназначены для использования в рабочей среде.
Необходимые компоненты
Ознакомьтесь с концептуальным обзором профилей автоматического обновления, которые содержат описание конфигураций, указанных в этом руководстве.
У вас должен быть ресурс Fleet с одним или несколькими кластерами-членами. Если нет, выполните краткое руководство по созданию ресурса Fleet и присоединению кластеров Служба Azure Kubernetes (AKS) в качестве членов.
Если вы хотите использовать стратегию обновления, следует настроить ее с помощью инструкций, приведенных в статье об обновлении. Вам нужен идентификатор ресурса стратегии обновления для использования с профилем автоматического обновления.
Установите указанные ниже переменные среды.
export GROUP=<resource-group> export FLEET=<fleet-name> export AUTOUPGRADEPROFILE=<upgrade-profile-name> # Optional export STRATEGYID=<strategy-id> export CLUSTER=<ask-cluster-name>
Вам нужна версия Azure CLI 2.61.0 или более поздняя. Чтобы выполнить установку или обновление Azure CLI, ознакомьтесь с этой статьей.
Вам также потребуется
fleet
расширение Azure CLI версии 1.3.0 или более поздней версии, которое можно установить, выполнив следующую команду:az extension add --name fleet
Выполните следующую команду, чтобы обновить до последней версии выпущенного расширения:
az extension update --name fleet
Примечание.
Автоматическое обновление запускается с учетом запланированных периодов обслуживания, установленных на уровне кластера AKS. Дополнительные сведения см. в статье плановое обслуживание в нескольких кластерах-членах, в которых объясняется, как запуски обновления обрабатывают кластеры-члены , настроенные с запланированными периодами обслуживания.
Создание профилей автоматического обновления
Используйте команду для создания профилей az fleet autoupgradeprofile create
, как показано ниже.
Профиль автоматического обновления можно создать, передав --disabled
аргумент при использовании create
команды. Чтобы включить профиль автоматического обновления, необходимо переиздать всю create
команду и опустить --disabled
аргумент.
Обновления Kubernetes для стабильного канала
Обновите последнюю поддерживаемую версию исправлений Kubernetes в дополнительной версии N-1, где N является последней поддерживаемой дополнительной версией.
Обновите кластеры членов последовательно по одному.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--channel Stable
Обновите кластеры членов с помощью существующей стратегии обновления.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel Stable
Обновите кластеры членов с помощью существующей стратегии обновления, обеспечивая использование одной версии образа узла в каждом регионе Azure. Кластеры членов будут запускать одну и ту же версию образа узла.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel Stable \
--node-image-selection-type Consistent
Обновите кластеры членов с помощью существующей стратегии обновления, используя последнюю доступную версию образа узла для каждого региона Azure. Кластеры членов могут запускать несколько версий образа узла.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel Stable \
--node-image-selection-type Latest
Обновления образа узла
Обновите узлы с новым исправленным виртуальным жестким диском, содержащим исправления безопасности и исправления ошибок.
Обновите образы узлов для кластеров-членов, обрабатывая кластеры последовательно по одному.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--channel NodeImage
Обновите образы узлов для кластеров-членов, обрабатывая кластеры с помощью существующей стратегии обновления.
az fleet autoupgradeprofile create \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE \
--update-strategy-id $STRATEGYID \
--channel NodeImage
Просмотр профиля автоматического обновления
Для просмотра профиля автоматического обновления можно использовать autoupgradeprofile list
команды или autoupgradeprofile show
команды.
Список всех профилей автоматического обновления для парка.
az fleet autoupgradeprofile list \
--resource-group $GROUP \
--fleet-name $FLEET
Отображение определенного профиля автоматического обновления для парка.
az fleet autoupgradeprofile list \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE
Удаление профиля автоматического обновления
Используйте следующую команду, чтобы удалить существующий профиль автоматического обновления. Вам будет предложено подтвердить удаление. Если вы хотите немедленно удалить профиль, включите --yes
.
az fleet autoupgradeprofile delete \
--resource-group $GROUP \
--fleet-name $FLEET \
--name $AUTOUPGRADEPROFILE
Проверка автоматического обновления
Автоматическое обновление произойдет только в том случае, если новые образы 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}"
После завершения выполнения обновления можно повторно запустить эти команды и просмотреть обновленные версии, развернутые.
Azure Kubernetes Service