| KUBERNETES(1) | راهنمای کاربر kubernetes | KUBERNETES(1) |
نام (NAME)
kubectl-autoscale - مقیاسبندی خودکار یک deployment، replica set، stateful set یا replication controller
خلاصه دستور (SYNOPSIS)
kubectl autoscale [OPTIONS]
توضیحات (DESCRIPTION)
یک مقیاسبخش خودکار (autoscaler) ایجاد میکند که به طور خودکار تعداد پادهای در حال اجرا در یک کلاستر کوبرنتیز را انتخاب و تنظیم مینماید. این دستور ابتدا تلاش میکند از API مربوط به autoscaling/v2 استفاده کند و در صورت بروز خطا، به API مربوط به autoscaling/v1 بازمیگردد.
یک deployment، replica set، stateful set یا replication controller را بر اساس نام جستجو کرده و یک مقیاسبخش خودکار ایجاد میکند که از منبع مشخصشده به عنوان مرجع استفاده مینماید. یک مقیاسبخش خودکار میتواند در صورت نیاز، تعداد پادهای مستقر در سیستم را به طور خودکار افزایش یا کاهش دهد.
گزینهها (OPTIONS)
--allow-missing-template-keys=true در صورت true بودن، چشمپوشی از هرگونه خطا در الگوها هنگامی که یک فیلد یا کلید نگاشت (map key) در الگو وجود ندارد. فقط برای قالبهای خروجی golang و jsonpath اعمال میشود.
--cpu="" میزان استفاده هدف از CPU در تمام پادها. در صورت تعیین به صورت درصد (مانند "70%" برای ۷۰٪ از CPU درخواستی)، میانگین مصرف را هدف قرار میدهد. در صورت تعیین به عنوان کمیت (مانند "500m" برای ۵۰۰ میلیسیپییو)، میانگین مقدار را هدف قرار میدهد. مقدار بدون واحد به عنوان کمیتی با واحد میلیسیپییو در نظر گرفته میشود (مانند "500" که معادل "500m" است).
--cpu-percent=-1 میانگین درصد استفاده هدف از CPU (به صورت درصدی از CPU درخواستی) در تمام پادها. در صورت عدم تعیین یا منفی بودن، یک سیاست پیشفرض مقیاسبندی خودکار استفاده خواهد شد.
--dry-run="none" باید یکی از مقادیر "none"، "server" یا "client" باشد. در راهبرد client، تنها شیئی که ارسال میشد چاپ میشود، بدون آنکه ارسال گردد. در راهبرد server، درخواست سمت سرور ارسال میشود بدون آنکه منبع ذخیره و پایدار شود.
--field-manager="kubectl-autoscale" نام مدیری که برای ردیابی مالکیت فیلدها استفاده میشود.
-f, --filename=[] نام فایل، دایرکتوری یا نشانی URL فایلهایی که منبع را برای مقیاسبندی خودکار مشخص میکنند.
-k, --kustomize="" پردازش دایرکتوری kustomization. این فلگ نمیتواند همراه با -f یا -R استفاده شود.
--max=-1 حد بالای تعداد پادهایی که میتوانند توسط مقیاسبخش خودکار تنظیم شوند. الزامی است.
--memory="" میزان استفاده هدف از حافظه در تمام پادها. در صورت تعیین به صورت درصد (مانند "60%" برای ۶۰٪ از حافظه درخواستی)، میانگین مصرف را هدف قرار میدهد. در صورت تعیین به عنوان کمیت (مانند "200Mi" برای ۲۰۰ مبیبایت، "1Gi" برای ۱ گیبیبایت)، میانگین مقدار را هدف قرار میدهد. مقدار بدون واحد به عنوان کمیتی با واحد مبیبایت در نظر گرفته میشود (مانند "200" که معادل "200Mi" است).
--min=-1 حد پایین تعداد پادهایی که میتوانند توسط مقیاسبخش خودکار تنظیم شوند. در صورت عدم تعیین یا منفی بودن، سرور یک مقدار پیشفرض را اعمال خواهد کرد.
--name="" نام شیء جدیداً ایجادشده. در صورت عدم تعیین، از نام منبع ورودی استفاده خواهد شد.
-o, --output="" فرمت خروجی. یکی از موارد: (json, yaml, kyaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).
--record=false ثبت دستور فعلی kubectl در حاشیهنویسی منبع. در صورت تنظیم روی false، دستور ثبت نمیشود. در صورت تنظیم روی true، دستور ثبت میشود. در صورت عدم تنظیم، به طور پیشفرض مقدار حاشیهنویسی موجود تنها در صورتی بهروزرسانی میشود که از قبل وجود داشته باشد.
-R, --recursive=false پردازش بازگشتی دایرکتوری استفادهشده در -f، --filename. زمانی کاربرد دارد که میخواهید مانیفستهای مرتبط سازمانیافته در یک دایرکتوری یکسان را مدیریت کنید.
--save-config=false در صورت true بودن، پیکربندی شیء فعلی در حاشیهنویسی آن ذخیره میشود؛ در غیر این صورت حاشیهنویسی بدون تغییر خواهد ماند. این فلگ زمانی مفید است که بخواهید در آینده دستور kubectl apply را بر روی این شیء اجرا کنید.
--show-managed-fields=false در صورت true بودن، فیلدهای managedFields هنگام چاپ اشیاء در قالبهای JSON یا YAML حفظ میشوند.
--template="" رشته الگو یا مسیر فایل الگو برای استفاده در زمان -o=go-template یا -o=go-template-file. فرمت الگو از نوع الگوهای golang است [http://golang.org/pkg/text/template/#pkg-overview].
گزینههای به ارث رسیده از دستورات والد (OPTIONS INHERITED FROM PARENT COMMANDS)
--as="" نام کاربری برای جعل هویت (impersonate) در این عملیات. کاربر میتواند یک کاربر معمولی یا یک حساب خدمت (service account) در یک namespace باشد.
--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="" نام سرور برای اعتبارسنجی گواهی سرور. در صورت عدم ارائه، از hostname استفادهشده برای برقراری ارتباط با سرور استفاده میشود
--token="" توکن Bearer برای احراز هویت در سرور API
--user="" نام کاربر kubeconfig برای استفاده
--username="" نام کاربری برای احراز هویت پایه در سرور API
--version=false گزینه --version یا --version=raw اطلاعات نسخه را چاپ کرده و خارج میشود؛ --version=vX.Y.Z... نسخه گزارششده را تنظیم میکند
--warnings-as-errors=false در نظر گرفتن هشدارهای دریافتی از سرور به عنوان خطا و خروج با کد وضعیت غیر صفر
مثالها (EXAMPLES)
# مقیاسبندی خودکار یک deployment به نام "foo"، با تعداد پادهای بین ۲ تا ۱۰، بدون تعیین میزان استفاده هدف از CPU تا از سیاست پیشفرض مقیاسبندی خودکار استفاده شود kubectl autoscale deployment foo --min=2 --max=10 # مقیاسبندی خودکار یک replication controller به نام "foo"، با تعداد پادهای بین ۱ تا ۵، با میزان استفاده هدف از CPU برابر با 80% kubectl autoscale rc foo --max=5 --cpu=80% # مقیاسبندی خودکار یک deployment به نام "bar"، با تعداد پادهای بین ۳ تا ۶، با میانگین هدف CPU برابر با 500m و حافظه برابر با 200Mi kubectl autoscale deployment bar --min=3 --max=6 --cpu=500m --memory=200Mi # مقیاسبندی خودکار یک deployment به نام "bar"، با تعداد پادهای بین ۲ تا ۸، با میزان استفاده هدف از CPU برابر با 60% و استفاده از حافظه برابر با 70% kubectl autoscale deployment bar --min=3 --max=6 --cpu=60% --memory=70%
همچنین ببینید (SEE ALSO)
تاریخچه (HISTORY)
ژانویه ۲۰۱۵، در ابتدا توسط Eric Paris (eparis at redhat dot com) بر پایه محتوای منبع kubernetes گردآوری شد، اما امید است که از آن زمان به بعد به طور خودکار تولید شده باشند!
| Jan 2015 | Eric Paris |