Сколько ядер используют стручки kubernetes, когда использование процессора ограничено политикой? - PullRequest
0 голосов
/ 31 января 2019

Kubernetes позволяет ограничить использование ресурсов модуля.

requests:
  cpu: 100m
  memory: 128Mi
limits:
  cpu: 200m   # which is 20% of 1 core
  memory: 256Mi

Допустим, мой узел kubernetes имеет 2 ядра.И я запускаю этот модуль с ограничением CPU: 200 м на этом узле.В этом случае, будет ли мой модуль использовать базовый узел 1Core's 200m или 2Core's 100m + 100m ?

Этот расчет необходим для формулы числа моего работника-оружейника , или номер работника nginx и т. Д. В документации по оружейному оружию написано

Обычно мы рекомендуем (2 x $ num_cores) + 1 в качестве числа рабочих, с которого нужно начинать.

Так я должен использовать 5 работников?(мой узел имеет 2 ядра).Или это даже не имеет значения, поскольку мой модуль выделил только 200 м процессоров, и я должен учитывать, что в моем модуле 1 ядро?

TLDR: Сколько ядер делают модулииспользовать, когда использование процессора ограничено kubernetes?Если я запускаю top внутри модуля, я вижу 2 доступных ядра.Но я не уверен, что мое приложение использует 10% + 10% этого ядра или 20% 1core.

Ответы [ 2 ]

0 голосов
/ 31 января 2019

ЦП измеряется в единицах, называемых милликоры.Каждый узел в кластере анализирует операционную систему, чтобы определить количество ядер ЦП на узле, а затем умножает это значение на 1000, чтобы выразить его общую емкость.Например, если узел имеет 2 ядра, емкость процессора узла будет представлена ​​как 2000 м.Если вы хотите использовать 1/10 от одного ядра, вы должны представить это как 100 м.

Так что, если в вашем кластере вы предоставили 200m milicores, тогда он будет привязан к одному ядру и займет20 процентов этого ядра.Теперь, если вы предоставили другой модуль с 1.5m, то только он займет более одного ядра.

0 голосов
/ 31 января 2019

Off грубая Ограничение будет составлять 20% от одного ядра, т. Е. 200 м.Кроме того, ограничение означает, что модуль может максимально задействовать процессор, но не более того.Таким образом, загрузка процессора не всегда будет касаться предела.

Общее ограничение ЦП кластера - это добавление ядер всех узлов, присутствующих в кластере.Если у вас кластер из 2 узлов, и первый из них имеет 2 ядра, а второй - 1 ядро.Емкость процессора K8 составит 3 ядра (2 ядра + 1 ядро).Теперь предположим, что у вас есть модуль, запрашивающий 1,5 ядра, тогда этот модуль не будет запланирован для второго узла, так как он имеет емкость только 1 ядра.это будет запланировано на первый узел, имеющий 2 ядра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...