kubectl logs <pod-id>
รับบันทึกล่าสุดจากการปรับใช้ - ฉันกำลังแก้ไขข้อบกพร่องและสนใจที่จะทราบบันทึกขณะรันไทม์ - ฉันจะรับสตรีมบันทึกอย่างต่อเนื่องได้อย่างไร
แก้ไข: แก้ไขคำถามในตอนท้าย
kubectl logs <pod-id>
รับบันทึกล่าสุดจากการปรับใช้ - ฉันกำลังแก้ไขข้อบกพร่องและสนใจที่จะทราบบันทึกขณะรันไทม์ - ฉันจะรับสตรีมบันทึกอย่างต่อเนื่องได้อย่างไร
แก้ไข: แก้ไขคำถามในตอนท้าย
คำตอบ:
kubectl logs -f <pod-id>
คุณสามารถใช้-f
แฟล็ก:
-f, --follow=false: Specify if the logs should be streamed.
https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs
kubectl logs --help
จะแนะนำคุณ:
ตัวอย่าง:
# Begin streaming the logs of the ruby container in pod web-1
kubectl logs -f -c ruby web-1
ธง:
-f, --follow[=false]: Specify if the logs should be streamed.
คุณยังสามารถเพิ่ม--since=10m
หรือเริ่มจากเวลาที่ผ่านมาได้
ฉันต้องการเข้าถึงบันทึกของพ็อดที่ใช้งานได้ยาวนานและ-f
เริ่มสตรีมบันทึกตั้งแต่หลายวันก่อนซึ่งจะต้องใช้เวลาหลายชั่วโมงกว่าจะไปถึงจุดที่ฉันต้องการดู (เพียงไม่กี่นาทีสุดท้ายหรือมากกว่านั้น)
มี--since=10m
ธง แต่ดูเหมือนจะไม่ได้ผลสำหรับฉัน
อะไรเป็นสิ่งมหัศจรรย์--tail=100
ที่100
เป็นจำนวนของเส้นที่ผ่านมาเพื่อการแสดงผล
k8s_pod=some_pod
kubectl get pods -w $k8s_pod | while read LOGLINE
do
[[ "${LOGLINE}" == *"Running"* ]] && pkill -P $$ kubectl
done
for line in $(kubectl get pods | grep $k8s_pod | awk '{print $1}'); do
kubectl logs -f $line | tee logfile
done
tail logfile | grep successful!
RESULT=$?
exit $RESULT
หากคุณต้องการรับสตรีมบันทึกจากแอปหลายพ็อดคุณสามารถใช้kubetailได้เช่น:
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
ที่มีคำสั่งว่าจะ kubetail tailingบันทึกจากฝักApp2-v31-9pbpn และ App2-V31-q74wg
ลองสิ่งนี้
บันทึกหางจากฝัก
kubectl --tail <"no of lines"> บันทึก <"pod_name">
ตัวอย่าง :
kubectl - หาง 100 บันทึก app_pod
บันทึก kubctl -f = true [pod-name] -c [container-name]
หากคุณมีคอนเทนเนอร์เดียวบนพ็อดไม่จำเป็นต้องใช้ชื่อคอนเทนเนอร์อีกให้ใช้ชื่อคอนเทนเนอร์ที่มีตัวเลือก -c -f เช่นติดตามเป็นเท็จโดยค่าเริ่มต้น หากคุณไม่ได้ตั้งค่าเป็นจริงคุณจะได้รับสแนปชอตของบันทึกคอนเทนเนอร์ของคุณ
คุณสามารถติดตามบันทึกด้วย -f
kubectl logs -f <pod_name>
หากบันทึกถูกหยุดส่วนใหญ่พ็อดอาจขัดข้องคุณสามารถตรวจสอบได้ว่าพ็อดทำงานจริงหรือไม่ ตรวจสอบอายุหรือ:
kubectl describe deploy/ds <deploy_or_ds_name>?
หรือคุณสามารถตรวจสอบบันทึกสำหรับคอนเทนเนอร์ภายในพ็อดที่มีหลายคอนเทนเนอร์
kubectl -f <pod_name> -c <container_name>