Так что есть несколько способов и сценариев для этого.Если вы просто интересуетесь журналом того же модуля с момента последнего перезапуска, вы можете использовать флаг --previous
для просмотра журналов:
kubectl logs -f <pod-name-xyz> --previous
Но так как в вашем случае вы заинтересованы в поискев журналах за один оборот, вот как вы можете это сделать.Добавьте контейнер с дополнительной тележкой к контейнеру вашего приложения:
volumeMounts:
- name: varlog
mountPath: /tmp/logs
- name: log-helper
image: busybox
args: [/bin/sh, -c, 'tail -n+1 -f /var/log/*.log']
volumeMounts:
- name: varlog
mountPath: /tmp/logs
volumes:
- name: varlog
hpostPath: /var/log
Это позволит каталогу, в котором все журналы из каталога /var/log
, от хоста до /tmp/log
внутри контейнера, и команда обеспечит, чтобы содержимое всехфайлы сбрасываются.Теперь вы можете запустить:
kubectl logs <pod-name-abc> -c count-log-1
Это решение избавляет от доступа SSH, но все еще нуждается в доступе к kubectl и добавлении контейнера с коляской.Я до сих пор считаю, что это плохое решение, и вы рассматриваете один из вариантов из документации архитектуры журналирования на уровне кластера Kubernetes, например 1 или 2