tgoop.com/devsecops_weekly/1201
Last Update:
CPU Limits и throttling в Kubernetes
Всем привет!
Еще один отличный материал, посвященный управлению ресурсами в Kubernetes. А именно – когда (не) надо использовать CPU Limits при работе с контейнерами.
Сперва Автор описывает общий концепт: что такое CPU Requests и CPU Limits, для чего они используются и как все это связано с cgroups v2.
Если упростить, то CPU Limits определяют максимальное время использования процессора в
рамках «окна», равного 100 ms.
Грубо говоря, если установлен CPU Limit, равный 0.4, то на реализацию задачи, которой требуется 200 ms процессорного времени уйдет… 440 ms.
Причина проста – в первые 100 ms было использовано лишь 40 ms времени процессора, остальные 60 ms – простой и ожидание нового «окна».
Для некоторых приложений это не столь значимо, для некоторых – достаточно критично. Например, могут не сработать liveness probes, могут быть пропущены heartbeat-события и многое другое.
В завершении статьи Автор дает рекомендации о том, когда (не) нужно использовать CPU Limits и о том, как можно идентифицировать throttling.
Кстати, статья – это лишь некоторое summary доклада, презентация которого доступна по ссылке в статье (~ 100 слайдов, посвященных тематики).
Много графиков, пояснений и формул, что позволят лучше разобраться в вопросе и решить для себя – а стоит ли использовать CPU Limits.
BY DevSecOps Talks

Share with your friend now:
tgoop.com/devsecops_weekly/1201