Можем ли мы ограничить ресурсы ЦП для контейнеров, работающих на PCF?
Как мы можем ограничить ресурсы ЦП для контейнеров на Docker (--cpus cmd), а также на платформе Kubernetes (-cpulimit).
Есть ли способ ограничить процессор для приложения, работающего на PCF?
1 ответ
Это происходит автоматически на Cloud Foundry.
Приложения, работающие на Cloud Foundry, ограничены в зависимости от общих ресурсов процессора (так же, как докер --cpu-shares
опция). Количество общих ресурсов ЦП, назначенных приложению, пропорционально размеру предела памяти, предоставленного приложению. Больше памяти означает больше ресурсов процессора.
Точное количество акций на самом деле не имеет значения, важны только пропорции. Если ваше приложение имеет большее количество общих ресурсов, чем другие приложения, работающие в Cell, оно получит больше процессорного времени. Если у него будет меньшее количество акций, у него будет меньше времени. Вы можете использовать пределы памяти, чтобы определить, является ли приложение меньше, таким же или большим, чем другие приложения, работающие в ячейке.
Сложность в том, что нет простого способа узнать, что еще работает в Cell, если не считать оператора и просмотра Cells. Надеемся, что в будущем информация об общем ресурсе ЦП и метрики регулирования будут представлены через Loggregator, поскольку это облегчит понимание того, как ваше приложение использует время ЦП, которое оно получает.
Если вы хотите увидеть точную формулу, используемую для определения доли процессора, вы можете проверить эту ссылку документации. Это углубляется в объяснение того, как платформа выполняет эти вычисления.
https://docs.cloudfoundry.org/concepts/container-security.html
В настоящее время невозможно ограничить использование ЦП в зависимости от количества ядер ЦП, например, Докера --cpus
аргумент.