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

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

Tip

Если вы используете AKS Automatic, обновления кластера предварительно настроены на использование канала stable, автоматически обновляя кластер до последнего исправления для младшей версии N-1 (где N — последняя поддерживаемая младшая версия). Настройка не требуется. Для автоматических кластеров AKS с определенными требованиями к обслуживанию можно задать запланированные периоды обслуживания. Дополнительные сведения см. в статье "Что такое Azure Kubernetes Service (AKS) автоматический" Для кластеров AKS Standard продолжайте чтение, чтобы выбрать канал, который лучше всего соответствует вашим требованиям.

Примечание.

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

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

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

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

Для автоматических кластеров AKS это преимущество имеет встроенное преимущество. Автоматическое обновление кластера предварительно настроено и включено по умолчанию с помощью стабильного канала, что устраняет необходимость ручной настройки или принятия решений.

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

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

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

  • AKS автоматически обновляет кластеры с версией N-3 (где N — последняя поддерживаемая второстепенная GA-версия AKS), которые вскоре перейдут в категорию N-4, и вместо этого обновляет их до версии N-2. Это действие гарантирует, что кластеры остаются в окне поддержки AKS. Дополнительные сведения см. в окне поддержки 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).

Для автоматических кластеров AKS

Автоматические кластеры AKS используют стабильный канал по умолчанию. Этот канал обеспечивает рекомендуемый баланс между использованием новейших функций и обновлений безопасности и сохранением стабильности. Кластеры автоматически обновляются до последней патч-версии минорной версии N-1 (где N — последняя поддерживаемая минорная версия).

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

Почему стабильный для AKS Automatic?

  • Сохраняет кластеры в окне поддержки N-2 (безопасные и совместимые)
  • Балансирует инновации с стабильностью
  • Полностью управляемая AKS с помощью безопасных методов развертывания
  • Соответствует рекомендациям AKS по созданию хорошо спроектированной архитектуры
  • Оптимизировано для производственных рабочих нагрузок

Для кластеров AKS Standard

Если вы используете AKS Standard, выберите канал, который лучше всего соответствует вашим операционным требованиям.

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

Канал Действие Пример
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 можно создать кластер без указания точной версии исправления. При создании кластера без назначения исправления кластер запускает последнюю GA-версию исправлений для минорной версии. Чтобы узнать больше, см. окно поддержки AKS.

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

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

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

Сравнение режима кластера

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

Аспект AKS Automatic AKS Standard
Канал по умолчанию стабильный (предварительно настроенный) Обязательный выбор вручную
Частота обновления Еженедельно (фиксировано на N-1) На основе выбранного канала
Требуется настройка Нет — автоматическое обновление Да. Выбор канала и расписания
Рекомендуется для Большинство производственных рабочих нагрузок Пользовательские требования или определенные ограничения
Управление окном обслуживания Optional Настоятельно рекомендуется
Доступные параметры канала только стабильная версия (фиксированная) патч, стабильный, быстрый, нет

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

Примечание.

Если вы создаете автоматический кластер AKS, пропустите эти действия. Стабильный канал уже настроен для автоматического обновления. Эти действия применяются только к кластерам AKS Standard.

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

az aks create \
  --resource-group <resource-group-name> \
  --name <cluster-name> \
  --auto-upgrade-channel stable \
  --generate-ssh-keys

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

Примечание.

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

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

az aks update \
  --resource-group <resource-group-name> \
  --name <cluster-name> \
  --auto-upgrade-channel stable

Результаты:

{
  "id": "/subscriptions/aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e/resourceGroups/myResourceGroupabc123/providers/Microsoft.ContainerService/managedClusters/myAKSCluster",
  "properties": {
    "autoUpgradeChannel": "stable",
    "provisioningState": "Succeeded"
  }
}

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

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

Примечание.

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

Дополнительную информацию о том, как установить окно обслуживания с помощью функции Планового Обслуживания, можно найти в разделе Использование планового обслуживания для планирования периодов обслуживания в кластере Azure Kubernetes Service (AKS).

Лучшие практики автоматического обновления кластера

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

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

Настроено ли автоматическое обновление кластера в AKS Automatic иначе?

Yes. Автоматические кластеры AKS предварительно настроены для использования стабильного канала по умолчанию. Вам не нужно ничего настраивать. Эта конфигурация предоставляет следующее:

  • Автоматическое обновление до последнего исправления для младшей версии N-1
  • Еженедельная частота обновления, согласованная с рекомендациями AKS
  • Полностью управляемая AKS с помощью безопасных методов развертывания
  • Элемент управления окном обслуживания (необязательно)
  • Готовые к работе значения по умолчанию оптимизированы для большинства рабочих нагрузок

Кластеры AKS Standard требуют выбора канала в зависимости от ваших потребностей. Чтобы перейти из AKS Standard в AKS Automatic и воспользоваться этими предварительно настроенными значениями по умолчанию, см. статью "Что такое Azure Kubernetes Service (AKS) Автоматический"

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

Дополнительные сведения о предварительно настроенных параметрах AKS Automatic и готовых к работе по умолчанию параметрах см. в статье "Что такое Azure Kubernetes Service (AKS) Автоматический"