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

В этой статье рассматриваются различные варианты обновления кластеров AKS. Сведения об обновлении базовой версии Kubernetes см. в статье Об обновлении кластера AKS.

Обновление кластеров AKS, использующих несколько пулов узлов или узлов Windows Server, описано в разделе Обновление пула узлов в AKS. Сведения об обновлении определенного пула узлов без обновления кластера Kubernetes см. в статье Об обновлении определенного пула узлов.

Выполнение обновлений вручную

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

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

Настройка автоматических обновлений

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

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

Особые рекомендации по пулам узлов, охватывающим несколько зон доступности

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

Утверждения сохраняемого тома (PVCs), поддерживаемые локально избыточными дисками хранилища Azure (LRS), привязаны к определенной зоне и могут не восстановиться немедленно, если узел всплеска не соответствует зоне ПВХ. Если зоны не соответствуют, это может привести к простою приложения, когда операция обновления продолжает стекать узлы, но PV привязаны к зоне. Чтобы справиться с этим случаем и обеспечить высокий уровень доступности, настройте бюджет прерывания Pod в приложении, чтобы разрешить Kubernetes соблюдать требования к доступности во время операции очистки.

Оптимизация обновлений для повышения производительности и минимизации сбоев

Сочетание периода планового обслуживания, максимального всплеска, бюджета сбоя pod, времени ожидания очистки узлов и времени ожидания узла (предварительная версия) может значительно увеличить вероятность успешного обновления узлов в конце периода обслуживания, а также минимизации сбоев.

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

  • Максимальное увеличение нагрузки в пуле узлов позволяет запрашивать дополнительную квоту во время процесса обновления и ограничивает количество узлов, выбранных для одновременного обновления. Более высокий максимальный всплеск приводит к более быстрому обновлению. Не рекомендуется устанавливать его на 100 %, так как он обновляет все узлы одновременно, что может привести к сбоям в работе приложений. Рекомендуется максимальное увеличение квоты на 33 % для пулов рабочих узлов.

  • Бюджет прерывания pod устанавливается для приложений-служб и ограничивает количество модулей pod, которые могут быть отключены во время добровольных сбоев, таких как обновления управляемых AKS узлов. Его можно настроить как minAvailable реплика, указывая минимальное количество модулей pod приложений, которые должны быть активными или maxUnavailable реплика, указывая максимальное количество модулей pod приложений, которые можно завершить, обеспечивая высокий уровень доступности приложения. Дополнительные сведения о настройке бюджетов нарушений pod см. в руководстве. Значения PDB должны быть проверены, чтобы определить параметры, которые лучше всего работают для конкретной службы.

  • Время ожидания очистки узлов в пуле узлов позволяет настроить продолжительность ожидания вытеснения модулей pod и корректное завершение на узел во время обновления. Этот параметр полезен при работе с длительными рабочими нагрузками. Если время ожидания очистки узла указано (в минутах), AKS учитывает ожидание бюджетов сбоев pod. Если это не указано, время ожидания по умолчанию — 30 минут.

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

    Примечание.

    Чтобы использовать длительность ожидания узла (предварительная версия), необходимо aks-preview установить расширение Azure CLI версии 0.5.173 или более поздней.

Следующие шаги

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