Есть отдельно ресурс запросы и ресурс ограничения .
Ресурс запросов в основном используется для планирования . Если у вас есть узел с 8 ядрами ЦП и 32 ГБ ОЗУ, Kubernetes не будет планировать запуск модулей на этом узле, которые в совокупности запрашивают более 8,0 ядер ЦП и 32 ГБ памяти. (Это включает любое количество модулей, у которых вообще нет запросов на ресурсы.) Единственное исключение состоит в том, что, если вы запрашиваете некоторое количество ЦП, оно передается в Docker и, если система перегружена, обрабатываете время распределяется пропорционально запрошенному количеству ЦП. Ни ядра, ни память не «зарезервированы» каким-либо значимым образом (вы не гарантированно будете работать на одном конкретном ядре, если вы запрашиваете 1 модуль ЦП).
Ресурс пределы влияют на работу модуля . Kubernetes ограничит использование ЦП модулем на основе запрошенного предела ЦП, и если он превысит свой предел памяти, ядро Linux уничтожит его (описано в расширенном обсуждении docker run -m
опции *1020* ). Помните, что модули планируются на основе только их запросов ресурсов, поэтому возможно иметь коллекцию модулей, которые вместе не запрашивают больше доступной памяти, но в конечном итоге используют слишком много памяти, и в этом случае ядро OOM-killer будет заканчиваю тем, что убивал что-то тоже.