Обмен не поддерживается в Kubernetes, и он откажется запускаться, если активен. Значения запроса для ресурсов модуля не могут быть переопределены, поэтому, если модуль запрашивает 1 ГБ и ни один узел не имеет доступного 1 ГБ (по сравнению с общим объемом ОЗУ за вычетом запросов ко всем модулям, запланированным для этого узла), модуль будет оставаться незапланированным, пока что-то не изменится. Ограничения могут быть превышены, но Kubernetes не участвует в этом процессе. Он просто устанавливает предел памяти в cgroup процесса. Обработка нехватки памяти работает так же, как это всегда происходит на Linux, если ядро решит, что ему не хватает памяти, то оно вызывает вещь, называемую oomkiller
, которая ранжирует процессы и убивает худший.