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

#docker #openshift #opencpu

#docker #openshift #opencpu

Вопрос:

Я запускаю изображение на основе 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
  

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

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

Комментарии:

1. Посмотрите на oc debug команду. Это позволяет вам запустить модуль отладки с той же конфигурацией развертывания и изображением, но это не запустит приложение. Затем вы можете из предоставленной командной строки запустить показанную вручную команду запуска и посмотреть, что произойдет. Как указано ниже, память является хорошим кандидатом на то, чтобы стать проблемой.

Ответ №1:

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

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

Из bobcares.com:

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

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

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

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

Комментарии:

1. Действительно, это была проблема с памятью openshift. Как только я добавил запросы ресурсов для запроса дополнительной памяти и процессора, все заработало нормально. Спасибо

2. Я так рад, что смог помочь вам в этом. Означает ли это, что вы можете принять ответ?