Команда kubectl logs не соответствует опции --limit-bytes - PullRequest
0 голосов
/ 07 октября 2019

Когда я запускаю

kubectl logs MY_POD_NAME --limit-bytes = 1

, опция --limit-bytes игнорируется, и я получаю вселоги стручка. Моя версия kubernetes - 1.15.3, пытающаяся понять, почему это будет. Когда я запускаю ту же команду в настройке GKE, опция --limit-bytes работает как положено. Интересно, что может отличаться в моей настройке, чтобы эта опция не работала правильно. (Это на CentOS).

Обновление: я отследил проблему до опции --log-driver Докера. Если для Docker --log-driver установлено значение 'json-file', то команда kubectl logs отлично работает с опцией --limit-bytes. Однако, если для Docker -log-driver установлено значение «journald», команда kubectl logs игнорирует параметр --limit-bytes. Похоже, ошибка kubectl для меня.

Ответы [ 2 ]

1 голос
/ 08 октября 2019

После выполнения этой команды вы должны увидеть следующую ошибку:

error: expected 'logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER]'.
POD or TYPE/NAME is a required argument for the logs command
See 'kubectl logs -h' for help and examples.

Выполнить:

$ kubectl logs your_pod_name  -c container_name --limit-bytes=1 -n namespace_name

Если вы установите - limit-bytes отметьте васдолжен знать, что - limit-bytes = 0 : максимальное количество возвращаемых журналов.

По умолчанию без ограничений. = 0: Максимальное количество возвращаемых журналов. Без ограничений по умолчанию.

Документация kubectl-logs .

Пожалуйста, дайте мне знать, если это поможет.

0 голосов
/ 08 октября 2019

Да, все должно работать нормально -

Пожалуйста, попробуйте это, если у вас есть один контейнер в приложении -

kubectl -n namespace logs pod_name --limit-bytes=1 

Если у вас несколько контейнеров, пожалуйста, укажите как -

kubectl -n namespace logs pod_name -c container_name --limit-bytes=1 
...