kubernetes: журнал не получен kubectl - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь запустить простой образ в определенном пространстве имен для устранения некоторых проблем

kubectl run busy --image busybox --namespace my-local-dev 
deployment.apps/busy created

Однако по какой-то причине контейнер продолжает перезапускаться

busy-67b577b945-ng2lt                     0/1       CrashLoopBackOff   5          3m

, и я не могуполучить любые журналы, даже с флагом --previous

$ kubectl logs -f --namespace my-local-dev busy-67b577b945-ng2lt --previous
Unable to retrieve container logs for docker://c8b9fce066686b3be01df1ed3343be5ec65607cb203e054fd9365511f77bd4af/home/pkara/Desktop
$ kubectl logs -f --namespace my-local-dev busy-67b577b945-ng2lt
$ _

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

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

Также не указан генератор , поэтому по умолчанию создаются Deployment, ReplicationSet и Pod.И ReplicationSet запускает контейнер после сбоя.

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

kubectl run busy --image busybox - namespace my-local-dev -it --generator = run-pod / v1

Для отладки не требуется надежной системы, включающей Deployment и ReplicationSet.Использование приведенного выше генератора обеспечит запуск только Pod, а не других ресурсов (Deployment и ReplicationSet).

0 голосов
/ 28 сентября 2018

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

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

В этом случае (журналы не отображаются) вполне вероятно, что ваш модуль НЕ имеет запрошенных ресурсов.Например, это может быть секрет или том.

Хороший способ - наблюдать за событиями в Kubernetes: kubectl get events

Или аналогичным образом описать свой ресурс и прочитать относительные события: kubectl describe pod <pod_name>, последняя часть экрана посвящена событиям на этом ресурсе.

...