Это старая версия документа!
Есть два типа ресурсов: память и проц
Есть два типа параметров: «Requests» и «Limit». Первое это требования для планировщика к нодам размещения, второе это жесткое ограничение для контейнера
В политике работы с ресурсами, поды делятся на три класса:
resources: limits: cpu: "2" memory: 2Gi requests: cpu: "2" memory: 2Gi
С точки зрения кибера, ограничения по памяти считаются «несжимаемыми», поэтому при превышении троттлинг невозможен и ядро будет агрессивно очищать кэш страниц и может быть вызван «OOM killer»
Единица подразумевает один процессорное ядро предоставляемое ОС (вне зависимости физическое оно или виртуальное)
В отличии от памяти является «сжимаемым» ограничением, поэтому при превышении начинается «CPU Throttling» - снижение частоты процессора и сл-но снижение производительности
На самом деле указывается лишь время использования процессора (CPU time) на всех доступных ядрах ноды, под будет использовать все доступные на ноде ядра, в пределах указанного времени использования
Например на ноде 8 ядер, если в лимите указать 4 то контейнер будет использовать эквивалент 4х ядер на всех 8ми, топишь в данном случае 50%
Варианты указания (эквивалент целого ядра и два варианта по половине)
resources: limits: cpu: "1" --- resources: limits: cpu: "0.5" --- resources: limits: cpu: "500m"