Команда Openshift завершена с ненулевым кодом выхода: ошибка выполнения в контейнере Docker: 137

Я запускаю образ на основе opencpu на openshift, каждый раз, когда модуль запускается, через несколько секунд он вылетает с ошибкой:

command terminated with non-zero exit code: Error executing in Docker Container: 137

Вкладка «Событие» показывает только три события ниже, а журналы терминала также ничего не показывают.

Back-off restarting the failed container
Pod sandbox changed, it will be killed and re-created.
Killing container with id docker://opencpu-test-temp:Need to kill Pod

Я действительно не понимаю, почему контейнер перезапускается каждые несколько секунд. Этот образ отлично работает локально.

Кто-нибудь подскажет, как решить эту проблему?


person Hound    schedule 10.03.2019    source источник
comment
Посмотрите на команду oc debug. Он позволяет запускать модуль отладки с той же конфигурацией развертывания и образом, но не запускает приложение. Затем вы можете из предоставленной оболочки запустить показанную вручную команду запуска и посмотреть, что произойдет. Как показано ниже, память является хорошим кандидатом на роль проблемы.   -  person Graham Dumpleton    schedule 10.03.2019


Ответы (1)


Ошибка 137 часто связана с памятью в контексте докера.

Фактическая ошибка связана с процессом, изолированным в контейнере докеров. Это означает, что процесс не может быть убит с помощью SIGKILL. Источник

От bobcares.com:

Ошибка 137 в Docker означает, что контейнер был «УБИТ» с помощью «oom-killer» (недостаточно памяти). Это происходит, когда в контейнере недостаточно памяти для запуска процесса.

«Убийца OOM» — это упреждающий процесс, который вступает в действие, чтобы спасти систему, когда уровень ее памяти становится слишком низким, убивая процессы, злоупотребляющие ресурсами, чтобы освободить память для системы.

Попробуйте проверить конфигурацию памяти контейнера? И доступная память на хосте, который запускает модуль? В журнале контейнера opencpu ничего нет?

Проверьте настройку rlimit.as в файле конфигурации /etc/opencpu/server.conf внутри образа. Это ограничение является ограничением памяти «на запрос» для вашего экземпляра opencpu (я понимаю, что ваша проблема связана с запуском, так что, возможно, это не так).

person Andreas Lorenzen    schedule 10.03.2019
comment
Действительно, это была проблема с памятью openshift. Как только я добавил запросы ресурсов для запроса дополнительной памяти и процессора, все заработало нормально. Спасибо - person Hound; 12.03.2019
comment
Я так рада, что смогла помочь вам в этом. Означает ли это, что вы можете принять ответ? - person Andreas Lorenzen; 12.03.2019