KUBERNETES(1) راهنمای کاربر kubernetes KUBERNETES(1)

kubectl-top - نمایش میزان مصرف منابع (CPU/حافظه)

kubectl top [OPTIONS]

نمایش میزان مصرف منابع (پردازنده/حافظه).

این دستور نمایی از مصرف اخیر منابع را برای گره‌ها و پادها فراهم می‌کند. این ابزار متریک‌ها را از سرور متریک (Metrics Server) واکشی می‌کند که این داده‌ها را از کوبلت (kubelet) روی هر گره تجمیع می‌نماید. برای کارکرد این دستور، سرور متریک باید در کلاستر نصب شده و در حال اجرا باشد.

متریک‌های نمایش‌داده‌شده به طور ویژه برای تصمیم‌گیری‌های مقیاس‌بندی خودکار کوبرنتیز بهینه‌سازی شده‌اند، مانند تصمیماتی که توسط مقیاس‌پذیر افقی پاد (HPA) و مقیاس‌پذیر عمودی پاد (VPA) گرفته می‌شود. به همین دلیل، مقادیر ممکن است با ابزارهای استاندارد سیستم‌عامل مانند 'top' مطابقت نداشته باشند، زیرا متریک‌ها به گونه‌ای طراحی شده‌اند که سیگنالی پایدار برای ابزارهای مقیاس‌بندی خودکار ارائه دهند نه این که دقت نقطه‌ای داشته باشند.

پرسش‌های متداول (FAQ) سرور متریک: https://github.com/kubernetes-sigs/metrics-server/blob/master/FAQ.md

زمان استفاده از این دستور:

  • برای بررسی‌های موردی و سریع میزان مصرف منابع (مانند شناسایی پادهایی که بیشترین منابع را در یک نگاه مصرف می‌کنند، یا به دست آوردن درکی سریع از بار روی گره‌ها)
  • درک الگوهای مصرف فعلی منابع
  • اعتبارسنجی رفتار پیکربندی‌های HPA یا VPA با مشاهده متریک‌هایی که آن‌ها برای تصمیم‌گیری‌های مقیاس‌بندی استفاده می‌کنند.

این دستور به عنوان جایگزینی برای راهکارهای پایش (monitoring) با قابلیت‌های کامل در نظر گرفته نشده است. هدف اصلی طراحی آن ارائه یک سیگنال کم‌هزینه (low-overhead) برای ابزارهای مقیاس‌بندی خودکار است، نه یک ابزار مانیتورینگ با دقت بی‌نقص. برای گزارش‌گیری با دقت بالا، تحلیل‌های تاریخی، داشبوردسازی یا هشداردهی (alerting)، باید از یک سامانه پایش اختصاصی استفاده کنید.

--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 در نظر گرفتن هشدارهای دریافتی از سرور به عنوان خطا و خروج با کد وضعیت غیر صفر

kubectl(1), kubectl-top-node(1), kubectl-top-pod(1)

ژانویه ۲۰۱۵، در ابتدا توسط Eric Paris (eparis at redhat dot com) بر پایه محتوای منبع kubernetes گردآوری شد، اما امید است که از آن زمان به بعد به طور خودکار تولید شده باشند!

Jan 2015 Eric Paris