Например я дал монге 500 милиядер, она начала кушать 501 и кубер убил монгу. Можно как-то ограниичть ресурсы, а не убивать?
OOM сделан не потому что это красиво, а потому что подавляющее большинство софта не умеет обрабатывать ошибки аллокации памяти и, вообще, не работает без memory overcommitment-а.
Соответственно, софт при нехватке памяти перейдет в невалидное состояние в любом случае: либо он не обработает ошибку malloc-а с возможностью продолжения работы (это уже 99% софта), либо из-за включенного по-дефолту оверкоммитмента память закончится не при malloc-е, а при попытке использовать уже выделенный malloc-ом регион памяти (что не может обработать 100%, т.к. там даже код ошибки негде вернуть).