#kubernetes #prometheus #kubelet
#kubernetes #prometheus #kubelet
Вопрос:
Я расследую удаление одной из служб в моем кластере kubernetes из-за ООМ.
Одна из первых вещей, которые я сделал, это посмотрел на график использования памяти grafana для модуля, который был уничтожен, и, к моему удивлению, я увидел большой всплеск использования памяти сразу после ООМ. Произошло. Однако сам модуль в то время не выполнял никаких вычислений, поэтому такой всплеск был очень запутанным (у самого модуля была утечка памяти, из-за которой он медленно достигал предела памяти, но всплеск не был его частью).).
Я более внимательно изучил всплеск, используя Prometheus, и я узнал, что на короткое время, когда старый модуль заменяется новым, kubelet
сообщает о метриках из обоих модулей, которые затем из-за sum by (container)
использования на графике grafana показывают всплеск.
Без агрегации: ( container_memory_rss{pod="XXX", container!="POD", container!=""}
)
С агрегацией: ( sum by(container) (container_memory_rss{pod="XXX", container!="POD", container!=""})
)
Мне было интересно, можно ли как-то избежать перекрытия и связано ли это с какой-то неправильной конфигурацией на моей стороне или либо это поведение kubelet
or prometheus
, которого нельзя избежать.
Спасибо!