kubectl logs <pod-id>
mendapatkan log terbaru dari penerapan saya - Saya sedang menangani bug dan tertarik untuk mengetahui log pada waktu proses - Bagaimana saya bisa mendapatkan aliran log berkelanjutan?
edit: pertanyaan yang diperbaiki di akhir.
kubectl logs --help
akan memandu Anda:Contoh:
# Begin streaming the logs of the ruby container in pod web-1 kubectl logs -f -c ruby web-1
Bendera:
-f, --follow[=false]: Specify if the logs should be streamed.
Anda juga dapat menambahkan
--since=10m
atau lebih mulai dari waktu relatif yang lalu.sumber
Saya perlu mengakses log dari pod yang sudah lama berjalan, dan
-f
mulai streaming log dari beberapa hari yang lalu, yang akan memakan waktu berjam-jam untuk sampai ke tempat yang perlu saya lihat (hanya beberapa menit terakhir atau lebih).Ada sebuah
--since=10m
bendera, tapi sepertinya itu tidak berhasil bagi saya.Apa keajaiban adalah
--tail=100
, di mana100
jumlah baris terbaru untuk ditampilkan.sumber
tunggu kubes untuk memutar pod lalu lanjutkan ...
k8s_pod=some_pod kubectl get pods -w $k8s_pod | while read LOGLINE do [[ "${LOGLINE}" == *"Running"* ]] && pkill -P $$ kubectl done
log ekor
for line in $(kubectl get pods | grep $k8s_pod | awk '{print $1}'); do kubectl logs -f $line | tee logfile done
cari indikator kesuksesan
tail logfile | grep successful! RESULT=$? exit $RESULT
sumber
Jika Anda ingin mendapatkan aliran log dari aplikasi multi pod, Anda dapat menggunakan kubetail , contoh:
kubectl get pods NAME READY STATUS RESTARTS AGE app2-v31-9pbpn 1/1 Running 0 1d app2-v31-q74wg 1/1 Running 0 1d kubetail app2
Dengan perintah itu, kubetail adalah tailing log dari pod app2-v31-9pbpn dan app2-V31-q74wg
sumber
Coba ini,
log ekor dari polong
kubectl --tail <"no of lines"> logs <"pod_name">
Contoh :
kubectl --tail 100 logs app_pod
sumber
Jika Anda hanya memiliki satu container di atas pod, nama container tidak diperlukan lagi, gunakan nama container dengan opsi -c. -f ie follow salah secara default. Jika Anda tidak menyetelnya ke true, Anda akan mendapatkan snapshot dari log penampung Anda.
sumber
Anda dapat mengikuti log dengan -f
kubectl logs -f <pod_name>
Jika log dihentikan, kemungkinan besar pod tersebut mengalami error, dapatkah Anda memeriksa apakah pod benar-benar berjalan atau tidak? Periksa usia mungkin atau:
kubectl describe deploy/ds <deploy_or_ds_name>?
Atau Anda juga dapat memeriksa log untuk kontainer di dalam pod yang ada beberapa kontainer
kubectl -f <pod_name> -c <container_name>
sumber