Я создал модуль, который производит несколько миллионов строк журнала.
Однако kubectl logs -f <pod_name>
в какой-то момент останавливается и вывод останавливается.
Вот мой эксперимент:
kubectl logs --follow=true test-logs-job-13263-t5dbx | tee file1
kubectl logs --follow=true test-logs-job-13263-t5dbx | tee file2
kubectl logs --follow=true test-logs-job-13263-t5dbx | tee file3
Каждый из вышеуказанных процессов был прерван (Ctrl+C
), как только я перестал получать какие-либо данные на моем экране.
Итак:
$ wc -l file*
106701 file1
106698 file2
106698 file3
320097 total
Стоит упомянутьтакже, что каждый из этих файлов содержит разные журналы, то есть фактические журналы, которые были переданы в потоковом режиме во время фактического выполнения команды kubectl logs -f
.
Есть ли параметр, который ограничивает максимальное количество потоков, которые должны быть переданы в потоквышеуказанный номер?(~ 10700)
Мой кластер находится на GKE, что бы это ни значило.
edit : По какой-то причине это похоже на only на GKE;когда я запускаю тот же эксперимент на другом кластере k8s (katakoda
), журналы передавались без каких-либо проблем.