Автоматическое восстановление узлов Службы Azure Kubernetes (AKS)
Служба Azure Kubernetes (AKS) постоянно проверяет состояние работоспособности рабочих узлов и выполняет автоматическое восстановление узлов, если они становятся неработоспособными. Платформа виртуальных машин Azure выполняет обслуживание виртуальных машин, на которых возникают проблемы. AKS и Виртуальные машины Azure работают вместе, чтобы минимизировать сбои в работе кластеров.
В этой статье вы узнаете, как работает функция автоматического восстановления узлов для узлов Windows и Linux.
Как AKS проверяет наличие узлов NotReady
AKS использует приведенные ниже правила, чтобы определить, является ли узел неработоспособным и требуется ли его восстановить.
- Узел сообщает о состоянии NotReady при последовательных проверках в течение 10-минутного интервала времени.
- Узел не сообщает о состоянии в течение 10 минут.
Вы можете вручную проверить состояние работоспособности узлов с помощью kubectl get nodes
команды.
Принцип работы автоматического восстановления
Примечание.
AKS инициирует операции восстановления с помощью учетной записи пользователя aks-remediator.
Если AKS идентифицирует неработоспособный узел, который остается неработоспособным по крайней мере пять минут, AKS выполняет следующие действия:
- AKS перезагружает узел.
- Если узел остается неработоспособным после перезагрузки, AKS переимит узел.
- Если узел остается неработоспособным после повторного воспроизведения и он является узлом Linux, AKS повторно развертывает узел.
AKS повторяет перезапуск, повторное копирование и повторное развертывание до трех раз, если узел остается неработоспособным. Общий процесс автоматического восстановления может занять до часа.
Ограничения
Автоматическое восстановление узла AKS — это лучшая служба усилий, и мы не гарантируем, что узел восстановлен обратно в работоспособное состояние. Если узел сохраняется в неработоспособном состоянии, мы настоятельно рекомендуем выполнить ручное исследование узла. Дополнительные сведения об устранении неполадок с состоянием NotReady узла.
Существуют случаи, когда AKS не выполняет автоматическое восстановление. Сбой автоматического восстановления узла может произойти либо путем разработки, либо если Azure не может обнаружить, что возникла проблема. Примеры, когда автоматическое восстановление не выполняется, включают:
- Состояние узла не сообщается из-за ошибки в конфигурации сети.
- Не удалось первоначально зарегистрировать узел в качестве работоспособного узла.
- Если на узле
node.cloudprovider.kubernetes.io/shutdown
присутствует любой из следующих фрагментов: , .ToBeDeletedByClusterAutoscaler
Мониторинг автоматического восстановления узла с помощью событий Kubernetes
Когда AKS выполняет автоматическое восстановление узла в кластере, AKS выдает события Kubernetes из источника автоматического восстановления aks для видимости. Следующие события отображаются в объекте узла при автоматическом восстановлении.
Дополнительные сведения о доступе, хранении и настройке оповещений в событиях Kubernetes см. в статье "Использование событий Kubernetes для устранения неполадок в Служба Azure Kubernetes".
Причина | Сообщение о событии | Description |
---|---|---|
NodeRebootStart | Автоматическое восстановление узла инициирует действие перезагрузки из-за сохранения состояния NotReady в течение более 5 минут. | Это событие создается для уведомления о перезагрузке, выполняемой на узле. Это действие является первым в общей последовательности автоматического восстановления узла. |
NodeRebootEnd | Действие перезагрузки из автоматического восстановления узла завершено. | Создается после завершения перезагрузки на узле. Это событие не указывает состояние работоспособности узла (работоспособное или неработоспособное) после выполнения перезагрузки. |
NodeReimageStart | Автоматическое восстановление узла инициирует действие повторного создания образа из-за сохранения состояния NotReady в течение более 5 минут. | Это событие создается, чтобы уведомить вас, когда повторная версия будет выполнена на узле. |
NodeReimageEnd | Действие повторного воспроизведения из автоматического восстановления узла завершено. | Создается после завершения повторного создания на узле. Это событие не указывает состояние работоспособности узла (работоспособное или неработоспособное) после выполнения повторного просмотра. |
NodeRedeployStart | Автоматическое восстановление узла инициирует действие повторного развертывания из-за сохранения состояния NotReady более 5 минут. | Это событие создается для уведомления о повторном развертывании на узле. Повторное развертывание — это последнее действие в последовательности автоматического восстановления узла. |
NodeRedeployEnd | Действие повторного развертывания из автоматического восстановления узла завершено. | Создается после завершения повторного развертывания на узле. Это событие не указывает состояние работоспособности узла (работоспособное или неработоспособное) после повторного развертывания. |
Если во время процесса автоматического восстановления узла возникают ошибки, следующие события создаются с подробным сообщением об ошибке. Дополнительные сведения об устранении распространенных ошибок автоматического восстановления узлов.
Примечание.
Код ошибки в следующих сообщениях событий зависит от сообщения об ошибке.
Причина | Сообщение о событии | Description |
---|---|---|
NodeRebootError | Сбой действия перезагрузки автоматического восстановления узла из-за сбоя операции. См. сведения об ошибке здесь: код ошибки | Создается при возникновении ошибки с действием перезагрузки. |
NodeReimageError | Действие повторного восстановления узла завершилось сбоем из-за сбоя операции. См. сведения об ошибке здесь: код ошибки | Создается при возникновении ошибки с действием повторного создания образов. |
NodeRedeployError | Не удалось выполнить автоматическое восстановление узла из-за сбоя операции. См. сведения об ошибке здесь: код ошибки | Возникает ошибка при повторном развертывании. |
Следующие шаги
По умолчанию вы можете получить доступ к событиям и журналам Kubernetes в кластере AKS за последние 1 час. Чтобы хранить и запрашивать события и журналы за последние 90 дней, включите Службу Аналитики контейнеров для более глубокого устранения неполадок в кластере AKS.
Azure Kubernetes Service