#kubernetes #prometheus #prometheus-alertmanager #crashloopbackoff
#kubernetes #prometheus #prometheus-alertmanager #crashloopbackoff
Вопрос:
Я установил Prometheus с помощью helm chart, поэтому у меня в списке 4 файла развертывания:
- prometheus-alertmanager
- prometheus-server
- prometheus-pushgateway
- prometheus-kube-state-metrics
Все модули файлов развертывания выполняются соответствующим образом. По ошибке я перезапустил один файл развертывания с помощью этой команды:
kubectl rollout restart deployment prometheus-alertmanager
Теперь создается новый pod и происходит сбой, если я удалю файл развертывания, то предыдущий pod также будет удален. Итак, что я могу сделать для этого модуля CrashLoopBackOff?
Ответ №1:
Вы можете просто удалить этот pod с kubectl delete pod <pod_name>
помощью команды или попытаться удалить все pod в crashLoopBackOff
состоянии с помощью:
kubectl delete pod `kubectl get pods | awk '$3 == "CrashLoopBackOff" {print $1}'`
Убедитесь, что для соответствующего развертывания установлена 1 реплика (или любое другое выбранное число). Если вы удалите pod (ы) этого развертывания, он создаст новый, сохраняя желаемое количество реплик.
Ответ №2:
Эти два модуля (один запущенный, а другой crashloopbackoff) принадлежат разным развертываниям, поскольку они имеют разные теги, т.Е.: pod1-abc-123
и pod2-abc-456
принадлежат одному и тому же шаблону развертывания, однако pod1-abc-123
и pod2-def-566
принадлежат разным развертываниям.
При развертывании будет создан набор реплик, убедитесь, что вы удалили соответствующую старую репликазу, kubectl get rs | grep 99dd
и удалите эту, аналогично серверной prometheus.