Что такое состояние Pending?
Состояние Pending
означает, что под был создан, но еще не назначен на узел кластера.
Причины возникновения
- Недостаточно ресурсов на узлах
- Проблемы с PersistentVolumeClaim
- Конфликтующие node selectors
- Проблемы с taints и tolerations
- Отсутствие подходящих узлов
Как отладить ошибку
- Проверь ресурсы узлов -
kubectl describe nodes
- Проверь PVC - убедись в доступности PersistentVolume
- Проверь node selectors - убедись в правильности селекторов
- Проверь taints и tolerations - убедись в совместимости
Как исправить ошибку
1. Добавь больше ресурсов
2. Исправь PVC проблемы
3. Исправь node selectors
4. Добавь больше узлов
Как мониторить подобные ошибки
- Мониторь использование ресурсов узлов
- Настрой алерты на Pending поды
- Отслеживай события планирования
- Используй Kubernetes Events
FAQ
В: Как проверить, почему под не планируется?
О: Используй kubectl describe pod pod-name
и посмотри на секцию Events.
В: Что делать, если все узлы заняты?
О: Добавь больше узлов в кластер или оптимизируй использование ресурсов.
В: Как исправить проблемы с taints?
О: Добавь соответствующие tolerations в pod или удали taints с узлов.
Лучшие практики
- Устанавливай разумные запросы ресурсов
- Используй Horizontal Pod Autoscaler
- Мониторь использование ресурсов
- Настрой правильные node selectors
- Используй pod disruption budgets