Отладка CrashLoopBackOff для образа, работающего от имени пользователя root в источнике openshift

Я хотел запустить контейнер ubuntu в начале смены. У меня есть локальный реестр, и извлечение из него прошло успешно. Контейнер запускается, но сразу бросает CrashLoopBackOff и останавливается. Образ Ubuntu, который у меня есть, работает как root

Started container with docker id 28250a528e69
Created container with docker id 28250a528e69
Successfully pulled image "ns1.myregistry.com:5000/ubuntu@sha256:6d9a2a1bacdcb2bd65e36b8f1f557e89abf0f5f987ba68104bcfc76103a08b86"
pulling image "ns1.myregistry.com:5000/ubuntu@sha256:6d9a2a1bacdcb2bd65e36b8f1f557e89abf0f5f987ba68104bcfc76103a08b86"
Error syncing pod, skipping: failed to "StartContainer" for "ubuntu" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=ubuntu pod=ubuntu-2-suy6p_testproject(69af5cd9-5dff-11e6-940e-0800277bbed5)"

Контейнер работает с ограниченными правами. Я не знаю, как запустить модуль в привилегированном режиме, поэтому отредактировал свой ограниченный режим следующим образом, чтобы мой образ с root-доступом запускался.

> NAME         PRIV      CAPS      SELINUX    RUNASUSER   FSGROUP   
> SUPGROUP   PRIORITY   READONLYROOTFS   VOLUMES restricted   true     
> []        RunAsAny   RunAsAny    RunAsAny   RunAsAny   <none>    
> false            [configMap downwardAPI emptyDir persistentVolumeClaim
> secret]

Но все же я не смог успешно запустить свой контейнер?


person Raghavan    schedule 09.08.2016    source источник
comment
Вы пытались выполнить oadm policy add-scc-to-user anyuid -z default внутри своего проекта и уменьшить масштаб модуля или удалить его (oc delete pod xxx --grace-period=0 и создать резервную копию?   -  person DenCowboy    schedule 09.08.2016
comment
Нет. Я попробовал это сейчас. # ./oc whoami test # ./oadm --config=/home/ubuntu/Openshift/openshift-origin-server-v1.3.0-alpha.2-983578e-linux-64bit/openshift.local.config/master/admin .kubeconfig policy add-scc-to-user anyuid -z по умолчанию Затем развернул новый модуль. Все та же проблема   -  person Raghavan    schedule 09.08.2016


Ответы (1)


Есть две команды, полезные для отладки краха loopbackoff.

oc debug pod/your-pod-name создаст очень похожий модуль и запустит его. Вы можете посмотреть разные варианты его запуска, некоторые касаются вариантов SCC. Вы также можете использовать dc, rc, is, большинство вещей, которые могут уничтожить стручки.

oc logs -p pod/your-pod-name извлечет журналы последнего запуска модуля, которые также могут содержать полезную информацию.

person David Eads    schedule 10.08.2016