Устранение неполадок с ошибками узла, за которыми следует восстановление
В этой статье приведено руководство по устранению неполадок и устранению проблем с узлами, не готовыми к работе в кластерах Служба Azure Kubernetes (AKS). Когда узел входит в состояние NotReady, он может нарушить функциональные возможности приложения и привести к остановке ответа. Как правило, узел восстанавливается автоматически после короткого периода. Тем не менее, чтобы предотвратить повторяющиеся проблемы и поддерживать стабильную среду, важно понимать основные причины, позволяющие реализовать эффективные решения.
Причина
Существует несколько сценариев, которые могут привести к возникновению состояния NotReady:
Недоступность сервера API. Это приводит к сбою пробы готовности. Это предотвращает присоединение pod к службе, чтобы трафик больше не перенаправлялся в экземпляр pod.
Ошибки узла виртуальной машины. Чтобы определить, произошли ли сбои узла виртуальной машины, проверьте следующие источники информации:
- AKS диагностика
- Состояние Azure
- Уведомления Azure (для всех последних сбоев или периодов обслуживания)
Решение
Чтобы решить проблему, выполните описанные ниже действия.
- Запустите
kubectl describe node <node-name>
, чтобы просмотреть подробные сведения о состоянии узла. Найдите сообщения об ошибках или предупреждения, которые могут указывать на первопричину проблемы. - Проверьте доступность сервера API, выполнив
kubectl get apiservices
команду. Убедитесь, что проба готовности правильно настроена в файле YAML развертывания. - Проверьте конфигурацию сети узла, чтобы убедиться, что проблемы с подключением отсутствуют.
- Проверьте использование ресурсов узла, например ЦП, памяти и диска, чтобы определить потенциальные ограничения. Дополнительные сведения см. в статье "Мониторинг производительности кластера Kubernetes с помощью аналитики контейнеров"
Дополнительные инструкции см. в разделе "Основные проблемы с ошибками, не готовыми к работе с узлом".
Предотвращение
Чтобы предотвратить возникновение этой проблемы в будущем, выполните одно или несколько следующих действий:
- Убедитесь, что уровень служб полностью оплачивается.
- Уменьшите количество
watch
иget
запросы к серверу API.