| KUBERNETES(1) | راهنمای کاربر kubernetes | KUBERNETES(1) |
نام (NAME)
kubectl-logs - چاپ لاگهای یک کانتینر در یک پاد
خلاصه دستور (SYNOPSIS)
kubectl logs [OPTIONS]
توضیحات (DESCRIPTION)
چاپ لاگهای یک کانتینر در یک پاد یا یک منبع مشخصشده. اگر پاد تنها یک کانتینر داشته باشد، نام کانتینر اختیاری است.
گزینهها (OPTIONS)
--all-containers=false دریافت لاگهای تمام کانتینرها در پاد(ها).
--all-pods=false دریافت لاگها از تمامی پاد(ها). مقدار prefix را روی true تنظیم میکند.
-c, --container="" چاپ لاگهای این کانتینر
-f, --follow=false مشخص میکند که آیا لاگها باید به صورت زنده و پیوسته (stream) جریان داشته باشند یا خیر.
--ignore-errors=false در هنگام مشاهده / دنبال کردن لاگهای پاد، به خطاهای رخ داده اجازه میدهد که غیرمهلک (non-fatal) تلقی شوند
--insecure-skip-tls-verify-backend=false صرفنظر کردن از تأیید هویت kubelet که لاگها از آن درخواست میشوند. از نظر تئوری، یک مهاجم میتواند محتوای لاگ نامعتبر ارسال کند. ممکن است بخواهید زمانی که گواهینامههای ارائه سرویس kubelet شما منقضی شدهاند از این گزینه استفاده کنید.
--limit-bytes=0 حداکثر بایتهای لاگ برای بازگرداندن. پیشفرض بدون محدودیت است.
--max-log-requests=5 تعیین حداکثر تعداد لاگهای همزمانی که هنگام استفاده از طریق selector دنبال میشوند. پیشفرض ۵ است.
--pod-running-timeout=20s مدت زمان انتظار (مانند 5s، 2m یا 3h، بیشتر از صفر) تا حداقل یک پاد در حال اجرا باشد
--prefix=false افزودن منبع لاگ (نام پاد و نام کانتینر) به عنوان پیشوند به هر خط از لاگ
-p, --previous=false در صورت true بودن، چاپ لاگهای نمونه قبلی کانتینر در یک پاد در صورت وجود.
-l, --selector="" انتخابگر (پرسوجوی برچسب) برای فیلتر کردن، از '='، '=='، '!='، 'in' و 'notin' پشتیبانی میکند (مانند -l key1=value1,key2=value2,key3 in (value3)). اشیای منطبق باید تمام محدودیتهای برچسب مشخصشده را برآورده کنند.
--since=0s فقط بازگرداندن لاگهای جدیدتر از یک مدت زمان نسبی مانند 5s، 2m یا 3h. پیشفرض تمام لاگها است. فقط یکی از since-time یا since میتواند استفاده شود.
--since-time="" فقط بازگرداندن لاگها پس از یک تاریخ مشخص (RFC3339). پیشفرض تمام لاگها است. فقط یکی از since-time یا since میتواند استفاده شود.
--tail=-1 تعداد خطوط اخیر فایل لاگ برای نمایش. در حالت بدون selector پیشفرض 1- است که تمام خطوط لاگ را نشان میدهد؛ در غیر این صورت، در صورت ارائه یک selector پیشفرض 10 است.
--timestamps=false درج برچسبهای زمانی (timestamps) در هر خط از خروجی لاگ
گزینههای به ارث رسیده از دستورات والد (OPTIONS INHERITED FROM PARENT COMMANDS)
--as="" نام کاربری برای جعل هویت (impersonate) در این عملیات. کاربر میتواند یک کاربر معمولی یا یک حساب خدمت (service account) در یک فضای نام باشد.
--as-group=[] گروه برای جعل هویت در این عملیات؛ این فلگ میتواند برای تعیین چندین گروه تکرار شود.
--as-uid="" شناسه UID برای جعل هویت در این عملیات.
--as-user-extra=[] اطلاعات اضافی کاربر برای جعل هویت در این عملیات؛ این فلگ میتواند برای مشخص کردن چندین مقدار برای یک کلید یکسان تکرار شود.
--cache-dir="/home/username/.kube/cache" دایرکتوری پیشفرض کش
--certificate-authority="" مسیر فایل گواهی برای مرجع صدور گواهی (certificate authority)
--client-certificate="" مسیر فایل گواهی کلاینت برای TLS
--client-key="" مسیر فایل کلید کلاینت برای TLS
--cluster="" نام کلاستر kubeconfig برای استفاده
--context="" نام کانتکست kubeconfig برای استفاده
--disable-compression=false در صورت true بودن، انصراف از فشردهسازی پاسخها برای تمام درخواستها به سرور
--insecure-skip-tls-verify=false در صورت true بودن، اعتبار گواهی سرور بررسی نخواهد شد. این کار اتصالات HTTPS شما را ناامن میکند
--kubeconfig="" مسیر فایل kubeconfig برای استفاده در درخواستهای CLI.
--kuberc="" مسیر فایل kuberc برای استفاده در ترجیحات (preferences). این قابلیت میتواند با export کردن feature gate به صورت KUBECTL_KUBERC=false یا خاموش کردن ویژگی با KUBERC=off غیرفعال شود.
--match-server-version=false الزام به تطابق نسخه سرور با نسخه کلاینت
-n, --namespace="" در صورت وجود، دامنهٔ فضای نام (namespace) برای این درخواست CLI
--password="" رمز عبور برای احراز هویت پایه (basic authentication) در سرور API
--profile="none" نام پروفایل برای ثبت. یکی از موارد (none|cpu|heap|goroutine|threadcreate|block|mutex|trace)
--profile-output="profile.pprof" نام فایلی که پروفایل در آن نوشته میشود
--request-timeout="0" مدت زمان انتظار پیش از انصراف از یک درخواست به سرور. مقادیر غیر صفر باید شامل واحد زمانی متناظر باشند (مانند 1s، 2m، 3h). مقدار صفر یعنی درخواستها هرگز دچار وقفه زمانی (timeout) نشوند.
-s, --server="" آدرس و پورت سرور Kubernetes API
--tls-server-name="" نام سرور برای استفاده در اعتبارسنجی گواهی سرور. در صورت عدم ارائه، از نام هاست مورد استفاده برای برقراری ارتباط با سرور استفاده میشود
--token="" توکن حامل (Bearer token) برای احراز هویت در سرور API
--user="" نام کاربر kubeconfig برای استفاده
--username="" نام کاربری برای احراز هویت پایه در سرور API
--version=false گزینه --version یا --version=raw اطلاعات نسخه را چاپ کرده و خارج میشود؛ --version=vX.Y.Z... نسخه گزارششده را تنظیم میکند
--warnings-as-errors=false در نظر گرفتن هشدارهای دریافتی از سرور به عنوان خطا و خروج با کد وضعیت غیر صفر
مثالها (EXAMPLES)
# بازگرداندن تصویر لحظهای (snapshot) لاگها از پاد nginx با تنها یک کانتینر kubectl logs nginx # بازگرداندن تصویر لحظهای لاگها از پاد nginx، همراه با پیشوند نام پاد و کانتینر مبدا در هر خط kubectl logs nginx --prefix # بازگرداندن تصویر لحظهای لاگها از پاد nginx، با محدود کردن خروجی به ۵۰۰ بایت kubectl logs nginx --limit-bytes=500 # بازگرداندن تصویر لحظهای لاگها از پاد nginx، با حداکثر ۲۰ ثانیه انتظار برای شروع به کار آن kubectl logs nginx --pod-running-timeout=20s # بازگرداندن تصویر لحظهای لاگها از پاد nginx دارای چندین کانتینر kubectl logs nginx --all-containers=true # بازگرداندن تصویر لحظهای لاگها از تمام پادها در استقرار nginx kubectl logs deployment/nginx --all-pods=true # بازگرداندن تصویر لحظهای لاگها از تمام کانتینرهای پادهای مشخصشده با برچسب app=nginx kubectl logs -l app=nginx --all-containers=true # بازگرداندن تصویر لحظهای لاگها از تمام پادهای مشخصشده با برچسب app=nginx، با محدود کردن درخواستهای همزمان لاگ به ۱۰ پاد kubectl logs -l app=nginx --max-log-requests=10 # بازگرداندن تصویر لحظهای از لاگهای کانتینر متوقفشده قبلی ruby از پاد web-1 kubectl logs -p -c ruby web-1 # آغاز جریان زنده لاگها از پاد nginx، با ادامه دادن حتی در صورت وقوع خطا kubectl logs nginx -f --ignore-errors=true # آغاز جریان زنده لاگهای کانتینر ruby در پاد web-1 kubectl logs -f -c ruby web-1 # آغاز جریان زنده لاگها از تمام کانتینرهای پادهای مشخصشده با برچسب app=nginx kubectl logs -f -l app=nginx --all-containers=true # نمایش تنها ۲۰ خط آخر خروجی در پاد nginx kubectl logs --tail=20 nginx # نمایش تمام لاگهای پاد nginx که در یک ساعت گذشته نوشته شدهاند kubectl logs --since=1h nginx # نمایش تمام لاگها همراه با برچسب زمانی از پاد nginx از تاریخ ۳۰ اوت ۲۰۲۴ ساعت 06:00:00 UTC به بعد kubectl logs nginx --since-time=2024-08-30T06:00:00Z --timestamps=true # نمایش لاگها از یک kubelet با گواهینامه ارائه سرویس منقضیشده kubectl logs --insecure-skip-tls-verify-backend nginx # بازگرداندن تصویر لحظهای لاگها از نخستین کانتینر یک job با نام hello kubectl logs job/hello # بازگرداندن تصویر لحظهای لاگها از کانتینر nginx-1 یک استقرار با نام nginx kubectl logs deployment/nginx -c nginx-1
همچنین ببینید (SEE ALSO)
تاریخچه (HISTORY)
ژانویه ۲۰۱۵، در ابتدا توسط Eric Paris (eparis at redhat dot com) بر پایه محتوای منبع kubernetes گردآوری شد، اما امید است که از آن زمان به بعد به طور خودکار تولید شده باشند!
| Jan 2015 | Eric Paris |