Автоматическое обновление кластера Службы Azure Kubernetes (AKS)

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

Примечание.

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

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

Почему используйте автоматическое обновление кластера

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

AKS следует строгому окну управления версиями поддержки. При правильном выборе каналов автоматического обновления можно избежать попадания кластеров в неподдерживаемую версию. Дополнительные сведения о окне поддержки AKS см. в разделе "Псевдоним дополнительных версий".

Автоматическое обновление, инициированное клиентом и AKS

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

AKS также инициирует автоматическое обновление для неподдерживаемых кластеров. Если кластер в версии n-3 (где n является последней поддерживаемой дополнительной версией AKS GA) будет удален до n-4, AKS автоматически обновляет кластер до n-2, чтобы остаться в политике поддержки AKS. Автоматическое обновление поддерживаемого кластера платформы до поддерживаемой версии по умолчанию. Остановленные пулы узлов обновляются во время операции автоматического обновления. Обновление применяется к узлам при запуске пула узлов. Чтобы свести к минимуму нарушения, настройте периоды обслуживания.

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

Если вы используете автоматическое обновление кластера, вы больше не сможете сначала обновить плоскость управления, а затем обновить отдельные пулы узлов. Автоматическое обновление кластера всегда обновляет плоскость управления и пулы узлов вместе. Вы не можете обновить только плоскость управления. При выполнении az aks upgrade --control-plane-only команды возникает следующая ошибка: NotAllAgentPoolOrchestratorVersionSpecifiedAndUnchanged: Using managed cluster api, all Agent pools' OrchestratorVersion must be all specified or all unspecified. If all specified, they must be stay unchanged or the same with control plane.

При использовании node-image канала автоматического обновления кластера (устаревшего и не используемого) или NodeImage канала автоматического обновления образа узла по умолчанию автоматическое обновление Linux отключается.

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

Автоматически завершенные обновления функционально совпадают с обновлениями вручную. Выбранный канал автоматического обновления определяет время обновления. При внесении изменений в автоматическое обновление разрешите 24 часам, чтобы изменения вступили в силу. Автоматическое обновление кластера выполняется так же, как и обновление кластера вручную. Дополнительные сведения см. в статье Обновление кластера службы Azure Kubernetes (AKS).

Доступны следующие каналы обновления.

Канал Действие Пример
none отключает автоматическое обновление и сохраняет кластер в текущей версии Kubernetes. Значение по умолчанию, если осталось без изменений.
patch автоматически обновляет кластер до последней поддерживаемой версии исправлений, когда она становится доступной при сохранении дополнительной версии. Например, если кластер работает с версией 1.17.7 и версиями 1.17.9, 1.18.4, 1.18.6 и 1.19.1 , кластер обновляется до версии 1.17.9.
stable автоматически обновляет кластер до последней поддерживаемой версии исправлений в дополнительной версии N-1, где N является последней поддерживаемой дополнительной версией. Например, если кластер работает с версией 1.17.7 и версиями 1.17.9, 1.18.4, 1.18.6 и 1.19.1, кластер обновляется до версии 1.18.6.
rapid автоматически обновляет кластер до последней поддерживаемой версии исправлений для последней поддерживаемой дополнительной версии. В случаях, когда версия Kubernetes кластера является дополнительной версией N-2, где N является последней поддерживаемой дополнительной версией, кластер сначала обновляется до последней поддерживаемой версии исправлений для N-1. Например, если кластер работает с версией 1.17.7 и версиями 1.17.9, 1.18.4, 1.18.6 и 1.19.1, кластер сначала обновляется до версии 1.18.6, а затем обновляется до версии 1.19.1.
node-image(устаревшая версия) автоматически обновляет образ узла до последней доступной версии. Корпорация Майкрософт предоставляет исправления и новые образы для узлов образов часто (обычно еженедельно), но запущенные узлы не получают новые образы, если только не выполняется обновление образа узла. Включение канала образов узла автоматически обновляет образы узлов всякий раз, когда доступна новая версия. Если вы используете этот канал, linux [автоматические обновления] отключены по умолчанию. Обновления образа узла работают с версиями исправлений, которые устарели, так как дополнительная версия Kubernetes по-прежнему поддерживается. Этот канал больше не рекомендуется и планируется для отмены в будущем. Параметр, который может автоматически обновлять образы узлов, см. в канале NodeImage автоматического обновления образа узла.

Примечание.

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

  • Автоматическое обновление кластера обновляется только для версий общедоступной версии Kubernetes и не обновляется до предварительных версий.

  • С помощью AKS можно создать кластер без указания точной версии исправления. При создании кластера без назначения исправления кластер запускает последнюю версию общедоступной версии. Дополнительные сведения см . в окне поддержки AKS.

  • Автоматическое обновление требует, чтобы версия Kubernetes кластера была в окне поддержки AKS, даже если используется node-image канал.

  • Если вы используете API 11-02-preview предварительной версии или более поздней версии и выбираете node-image канал автоматического обновления кластера, канал автоматического обновления образа узла автоматически устанавливает.NodeImage

  • Каждый кластер может быть связан только с одним каналом автоматического обновления. Это связано с тем, что указанный канал определяет версию Kubernetes, которая выполняется в кластере.

  • Если в кластере нет канала автоматического обновления, и вы включите его для LTS (долгосрочной поддержки), он по умолчанию будет использоваться в канале автоматического patch обновления.

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

  • Задайте канал автоматического обновления при создании нового кластера с помощью az aks create команды и auto-upgrade-channel параметра.

    az aks create --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable --generate-ssh-keys
    

Использование автоматического обновления кластера с существующим кластером AKS

  • Задайте канал автоматического обновления в существующем кластере с помощью az aks update команды с параметром auto-upgrade-channel .

    az aks update --resource-group myResourceGroup --name myAKSCluster --auto-upgrade-channel stable
    

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

При использовании планового обслуживания и автоматического обновления кластера обновление начинается во время указанного периода обслуживания.

Примечание.

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

Дополнительные сведения о настройке периода обслуживания с помощью планового обслуживания см. в разделе "Использование планового обслуживания" для планирования периодов обслуживания для кластера Служба Azure Kubernetes (AKS).

Рекомендации по автоматическому обновлению кластера

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

  • Чтобы убедиться, что кластер всегда находится в поддерживаемой версии (т. е. в правиле N-2), выберите один или stable rapid несколько каналов.
  • Если вы заинтересованы в получении последних исправлений как можно скорее, используйте канал patch. Канал node-image хорошо подходит, если вы хотите, чтобы пулы агентов всегда запускали самые последние образы узлов.
  • Чтобы автоматически обновлять образы узлов при использовании другого канала обновления кластера, рекомендуется использовать канал автоматического обновления NodeImage образа узла.
  • Следуйте рекомендациям для оператора.
  • Следуйте рекомендациям по PDB.
  • Сведения об устранении неполадок обновления см. в документации по устранению неполадок AKS.

Подробное обсуждение рекомендаций по обновлению и других рекомендаций см . в руководстве по исправлению и обновлению AKS.