Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: ✔️ AKS Automatic ✔️ AKS Standard
Служба Azure Kubernetes (AKS) постоянно проверяет состояние работоспособности рабочих узлов и выполняет автоматическое восстановление узлов, если они становятся неработоспособными. Платформа виртуальных машин Azure выполняет обслуживание виртуальных машин, на которых возникают проблемы. AKS и Виртуальные машины Azure работают вместе, чтобы минимизировать сбои в работе кластеров.
Для большинства рабочих нагрузок в производственной среде AKS Automatic является рекомендуемым готовым к промышленной эксплуатации вариантом по умолчанию для AKS. Кластеры AKS Automatic и AKS Standard предварительно настроены с автоматическим восстановлением узла.
В этой статье вы узнаете, как работает автоматическое восстановление узла, когда активируются действия восстановления, какие ограничения применяются, а также как отслеживать события восстановления.
Поведение автоматического восстановления узла в зависимости от режима кластера
Оба режима кластера AKS предварительно настроены с автоматическим восстановлением узла:
- AKS Automatic: предварительно настроен в рамках готовых к промышленной эксплуатации параметров по умолчанию AKS Automatic.
- AKS Standard: предварительно настроены в кластерах AKS Standard без дополнительной настройки.
Оба режима используют одни и те же проверки работоспособности узла и ту же последовательность восстановления, описанную в этой статье.
Дополнительные сведения о параметрах по умолчанию для автоматической платформы AKS см. в разделе "Что такое Azure Kubernetes Service (AKS) автоматический"
Как AKS проверяет наличие узлов NotReady
AKS использует приведенные ниже правила, чтобы определить, является ли узел неработоспособным и требуется ли его восстановить.
- Узел сообщает о состоянии NotReady при последовательных проверках в течение 10-минутного интервала времени.
- Узел не сообщает о состоянии в течение 10 минут.
Вы можете вручную проверить состояние работоспособности узлов с помощью kubectl get nodes команды.
Принцип работы автоматического восстановления
Примечание.
AKS инициирует операции восстановления с помощью учетной записи пользователя aks-remediator.
Если AKS определяет неработоспособный узел, который остается неработоспособным по крайней мере пять минут, AKS выполняет следующие действия:
- AKS перезагружает узел.
- Если узел остается неработоспособным после перезагрузки, AKS повторно возвращает узел.
- Если узел остается неработоспособным после повторного воспроизведения и он является узлом Linux, AKS повторно развертывает узел.
AKS повторяет последовательность перезапуска, повторного создания образа и повторного развертывания до трех раз, если узел остается неисправным. Общий процесс автоматического восстановления может занять до одного часа.
Факторы, учитываемые при производстве
Автоматическое восстановление узла — это ключевой механизм обеспечения отказоустойчивости, но сочетайте его с практиками отказоустойчивости на уровне рабочих нагрузок:
- Выполнение критически важных рабочих нагрузок с несколькими репликами.
- Используйте PodDisruptionBudgets и проверки готовности, чтобы уменьшить заметное для пользователей влияние.
- Отслеживайте действия восстановления и события ошибок для обнаружения повторяющихся проблем с узлом.
- Включите время автоматического восстановления в SLO/SLA и планирование реагирования на инциденты.
Ограничения
Автоматическое восстановление узлов AKS — это служба, предоставляемая по принципу максимальных усилий. AKS не гарантирует, что узел будет восстановлен до исправного состояния во всех сценариях. Если узел остается неисправным, выполните проверку вручную. Дополнительные сведения см. в разделе Устранение неполадок с состоянием узла NotReady.
AKS может не выполнять автоматическое восстановление в следующих сценариях:
- Ошибка конфигурации сети предотвращает отчеты о состоянии узла.
- Не удается зарегистрировать узел в качестве работоспособного узла.
- Узел имеет любой из следующих фрагментов:
node.cloudprovider.kubernetes.io/shutdownToBeDeletedByClusterAutoscaler
- Узел обновляется и имеет следующие аннотации:
"cluster-autoscaler.kubernetes.io/scale-down-disabled": "true""kubernetes.azure.com/azure-cluster-autoscaler-scale-down-disabled-reason": "upgrade"
Мониторинг автоматического восстановления узла с помощью событий Kubernetes
Когда AKS выполняет автоматическое восстановление узла, она создает события Kubernetes от источника aks-auto-repair. Следующие события отображаются в объекте узла при автоматическом восстановлении.
Дополнительные сведения о доступе, хранении и предупреждении о событиях Kubernetes см. в статье "Использование событий Kubernetes для устранения неполадок в AKS".
| Причина | Сообщение о событии | Описание |
|---|---|---|
| NodeRebootStart | Автоматическое восстановление узла инициирует действие перезагрузки из-за сохранения состояния NotReady в течение более пяти минут. | Это событие уведомляет вас о том, что перезагрузка будет выполнена на узле. Это действие является первым в общей последовательности автоматического восстановления узла. |
| Завершение перезагрузки узла | Действие перезагрузки из автоматического восстановления узла завершено. | Издается после завершения перезагрузки в узле. Это событие не указывает состояние работоспособности узла (работоспособное или неработоспособное) после выполнения перезагрузки. |
| NodeReimageStart | Автоматическое восстановление узла запускает повторное создание образа, поскольку состояние NotReady сохраняется более пяти минут. | Это событие уведомляет вас о том, когда повторная версия будет выполнена на узле. |
| NodeReimageEnd | Действие повторного воспроизведения из автоматического восстановления узла завершено. | Событие генерируется после завершения восстановления образа на узле. Это событие не указывает состояние работоспособности узла (работоспособное или неработоспособное) после выполнения повторного просмотра. |
| NodeRedeployStart | Автоматическое восстановление узла инициирует действие повторного развертывания из-за сохранения состояния NotReady более пяти минут. | Это событие уведомляет вас о том, что на вашем узле скоро будет выполнено повторное развертывание. Повторное развертывание — это последнее действие в последовательности автоматического восстановления узла. |
| NodeRedeployEnd | Завершено выполнение действия повторного развертывания в рамках автоматического восстановления узла. | Отправляется после завершения повторного развертывания на узле. Это событие не указывает состояние работоспособности узла (работоспособное или неработоспособное) после повторного развертывания. |
Если ошибки возникают во время автоматического восстановления узла, AKS выдает следующие события с подробным сообщением об ошибке. Дополнительные сведения см. в разделе "Устранение распространенных ошибок автоматического восстановления узла".
Примечание.
Код ошибки в следующих сообщениях событий зависит от сообщаемой ошибки.
| Причина | Сообщение о событии | Описание |
|---|---|---|
| NodeRebootError | Попытка перезагрузки для автоматического восстановления узла не удалась из-за сбоя операции. См. сведения об ошибке здесь: код ошибки | Выдается при возникновении ошибки в действии перезагрузки. |
| NodeReimageError | Действие автоматического восстановления образа узла не удалось из-за сбоя операции. См. сведения об ошибке здесь: код ошибки | Вызывается при возникновении ошибки во время повторного создания образа. |
| NodeRedeployError | Не удалось выполнить автоматическое восстановление узла в результате сбоя операции. См. сведения об ошибке здесь: код ошибки | Создаётся сигнал об ошибке при повторном развертывании. |
Связанные материалы
- Что такое Azure Kubernetes Service (AKS) автоматически?
- Создание автоматического кластера AKS
- Использование событий Kubernetes для устранения неполадок в AKS
- Устранение неполадок состояния NotReady узла в AKS
- Устранение распространенных ошибок автоматического восстановления узла в AKS
- Обзор аналитики контейнеров