الفلاتر
طريقة البحث
  • الكلمات العادية تجد الأسماء والنصوص والأمثلة.
  • "كلمتان" تجد العبارة بالضبط.
  • --name أو -x تجد خيارًا.
  • #كلمة تبحث داخل الأوامر فقط.
  • @grep تجد الدروس والمعامل التي تستخدم grep.
  • الفلاتر: cat:network · in:labs · level:rhcsa · ch:8 · root:yes. ضع ! قبل كلمة لاستبعادها. OR بين الكلمات تعني إحداها.
  • ↑ ↓ للتنقل · Enter للفتح · Esc للإغلاق · / للبحث

stern

Follow the logs of many pods and containers at once, with colours per pod — great during a rollout or an incident.

المستوى
أداة DevOps
المجموعة
الحاويات و Kubernetes
يحتاج root
لا
الحزمة
stern

هذا الجزء لم يُترجم بعد. أنت ترى النص الإنجليزي.

ماذا يفعل

kubectl logs shows one pod. stern takes a pod query (a regex, a deployment, a label selector) and follows the logs of every matching pod and container, also of new pods that start later. Each pod gets its own colour and a prefix.

طريقة الكتابة

stern [OPTIONS] QUERY

الخيارات 14

الأكثر استخدامًا

Options

QUERY
Pod name regex, or deployment/NAME, statefulset/NAME.
-n, --namespace NS
Namespace (can repeat).
-A, --all-namespaces
All namespaces.
-l, --selector LABELS
Pods with these labels.
-c, --container REGEX
Only matching containers.
-s, --since 15m
Logs from the last 15 minutes.
--tail N
Start with the last N lines.
-i, --include REGEX
Only lines that match.
-e, --exclude REGEX
Hide lines that match.
-o, --output raw|json|extjson
Output format.
-t, --timestamps
Show timestamps.
--context NAME
Use another kube context.
--no-follow
Print and exit (do not follow).
--max-log-requests N
Limit parallel log streams.

أمثلة 11

$ مستخدم عادي# بصلاحية root (أو مع sudo)

  1. 1All pods of a deployment

    stern -n shop deployment/shop
  2. 2Pods by name regex in all namespaces

    stern -A '^ingress-nginx'
  3. 3Only errors from the last 30 minutes

    stern -n shop shop --since 30m -i 'ERROR|panic'
  4. 4Pods with a label

    stern -n shop -l app=shop,tier=api
  5. 5Only the app container, not the sidecar

    stern -n shop shop -c app
  6. 6Hide health check lines

    stern -n shop shop -e 'GET /health'
  7. 7With timestamps, last 50 lines, no follow

    stern -n shop shop --tail 50 -t --no-follow
  8. 8JSON logs to jq

    stern -n shop shop -o raw | jq -r 'select(.level=="error") | .msg'
  9. 9Watch a rollout in a second terminal

    kubectl rollout restart deploy/shop -n shop
    stern -n shop deployment/shop --since 1m
  10. 10Logs of a CronJob's pods

    stern -n jobs '^backup-' --since 2h
  11. 11Another cluster

    stern --context prod -n shop shop

انتبه

  • Many pods mean many log streams to the API server; filter with a namespace and a selector.
  • stern shows only what the kubelet still has; old logs need a log system (Loki, Elasticsearch).

نصائح للحفظ

رموز الخروج

0OK.
1Error.

الدليل الكامل

هذه الصفحة تشرح الأمر بكلمات بسيطة. الدليل الأصلي فيه كل التفاصيل.

في الطرفية: man stern