Как стать автором
Обновить

Комментарии 10

Прежде всего вопрос - а как считалось все что было перед этим? И почему не визуализировать графаной/кибаной? Или не генерировать хотя бы html? их удобнее скроллить, если подов много, плюс легко также копируется в excel с возможностью сортировки. А так получается 2/3 скрипта - импорт из преттитейбл.

Главное - я не очень понял конечный результат - куча сервисов, которые в простое ничего не кушают. Это значит что на них ничего не нужно выделять? Или как из конечной таблицы вы сделали вывод какие вам нужны ноды - тут я вообще не понял логики.


P.S. это я придираюсь, но

куча if

OP

Разве не лучше вместо if цикл и case, чтобы можно было и несколько опций обработать, и проще это делать?

у меня стояла простая задача - понять общую требуемую вычислительную мощность кластера. визулизовать и т д. не было необходимости, тем белее что это есть и работает

лимиты были оттюнены.

дальше просто. вывод скрипта с ключом --tabbed я складывал в excel с считал требованияк нодам с учетом запаса можностей на каждой ноде, N+1. +мастера, etcd и ресурсы внешних относительно кубера сервисах в наших проектах (minio, bind9, postgres/stolon и т.д. case depends)

Я давно в кубе не копался... В метрики лимиты не попадают?

Помню, что вытаскивал через prometheus стату по ресурсам и прямо в запросе можно было найти поды, которые за месяц не потребляли больше 50-80% памяти и пойти порезать им лимиты. Так точно не получится найти эту инфу?

Попадают, я именно так и сделал у себя.
sort(max_over_time((sum(rate(container_cpu_usage_seconds_total{namespace="prod",container!="POD",container!="istio-proxy", pod!~".*-job-.*"}[2m])) by (container, namespace) / sum(kube_pod_container_resource_requests_cpu_cores) by (container, namespace)) [30d:5m]) < 0.5) типа такого запрос просто в таблицу в графане вывел и всё.

Также полезно выводить приложения с большим отношением limit к request (больше 40x например), это тоже помогает бороться с неадекватными значениями

давай добавлю;)

про лимиты на вскидку не скажу. посмотрю

Так уже давно есть krew-capacity для этих целей

https://github.com/robscott/kube-capacity

Мил человек! где ты раньше был! спасибочки! я этого проекта не видел.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории