| KUBERNETES(1)(kubernetes) | KUBERNETES(1)(kubernetes) |
نام (NAME)
kubectl-wait - منتظر ماندن برای برقراری یک وضعیت مشخص در یک یا چند منبع
خلاصه دستور (SYNOPSIS)
kubectl wait [OPTIONS]
توضیحات (DESCRIPTION)
منتظر ماندن برای برقراری یک وضعیت مشخص در یک یا چند منبع.
این دستور چندین منبع را دریافت کرده و تا زمانی که وضعیت تعیینشده در فیلد Status تکتک منابع دادهشده مشاهده نشود، منتظر میماند.
همچنین، این دستور میتواند با دریافت کلمات کلیدی "create" یا "delete" به عنوان مقدار برای پرچم --for، منتظر ایجاد یا حذف مجموعه منابع دادهشده بماند.
در صورت برآورده شدن وضعیت مشخصشده، پیامی مبنی بر موفقیت در خروجی استاندارد (stdout) چاپ خواهد شد. میتوانید از گزینه -o برای تغییر مقصد خروجی استفاده کنید.
گزینهها (OPTIONS)
--all=false انتخاب همه منابع از نوع مشخصشده در فضای نام
-A, --all-namespaces=false در صورت وجود، اشیاء درخواستی را در تمام فضاهای نام فهرست میکند. فضای نام در زمینه (context) فعلی نادیده گرفته میشود، حتی اگر با --namespace مشخص شده باشد.
--allow-missing-template-keys=true اگر روی true باشد، هرگونه خطا در الگوها هنگامی که یک فیلد یا کلید مپ در الگو مفقود باشد، نادیده گرفته میشود. تنها برای قالبهای خروجی golang و jsonpath اعمال میشود.
--field-selector="" انتخابگر (پرسوجوی فیلد) برای فیلتر کردن؛ از '=', '==' و '!=' پشتیبانی میکند (مثلاً --field-selector key1=value1,key2=value2). سرور فقط از تعداد محدودی پرسوجوی فیلد برای هر نوع منبع پشتیبانی میکند.
-f, --filename=[] مشخصکننده فایل منبع.
--for=[] وضعیتی که باید منتظر آن ماند: [create|delete|condition=condition-name[=condition-value]|jsonpath='{JSONPath expression}'=[JSONPath value]]. مقدار پیشفرض condition-value برابر با true است. مقادیر وضعیت پس از تبدیل حروف ساده یونیکد (case folding) که شکل کلیتری از عدم حساسیت به بزرگی و کوچکی حروف است، مقایسه میشوند. از چندین وضعیت پشتیبانی شده و به ترتیب متوالی با یکدیگر AND منطقی میشوند. اگر --for=create ارسال شود، همیشه ابتدا منتظر آن میماند.
--local=false اگر true باشد، با api-server ارتباط برقرار نخواهد شد و عملیات بهصورت محلی اجرا میشود.
-o, --output="" قالب خروجی. یکی از: (json, yaml, kyaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).
-R, --recursive=true پردازش بازگشتی دایرکتوری استفادهشده در -f, --filename. زمانی مفید است که بخواهید مانیفستهای مرتبط سازماندهیشده در یک دایرکتوری یکسان را مدیریت کنید.
-l, --selector="" انتخابگر (پرسوجوی برچسب) برای فیلتر کردن؛ از '=', '==' و '!=' پشتیبانی میکند (مثلاً -l key1=value1,key2=value2).
--show-managed-fields=false اگر true باشد، هنگام چاپ اشیاء در قالب JSON یا YAML فیلدهای مدیریتشده (managedFields) حفظ میشوند.
--template="" رشته الگو یا مسیر فایل الگو برای استفاده در زمان -o=go-template یا -o=go-template-file. قالب الگو از الگوهای golang پیروی میکند [http://golang.org/pkg/text/template/#pkg-overview].
--timeout=30s مدت زمانی که باید پیش از صرفنظر کردن منتظر ماند. مقدار صفر به معنای یک بار بررسی و منتظر نماندن است، مقدار منفی به معنای یک هفته انتظار است.
گزینههای به ارث رسیده از دستورات والد (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="" مسیر فایل گواهی برای مرجع صدور گواهی (CA)
--client-certificate="" مسیر فایل گواهی کلاینت برای TLS
--client-key="" مسیر فایل کلید کلاینت برای TLS
--cluster="" نام کلاستر kubeconfig برای استفاده
--context="" نام زمینه (context) فایل kubeconfig برای استفاده
--disable-compression=false اگر true باشد، فشردهسازی پاسخها برای تمام درخواستها به سرور لغو میشود
--insecure-skip-tls-verify=false اگر true باشد، معتبر بودن گواهی سرور بررسی نخواهد شد. این کار اتصالات HTTPS شما را ناامن میکند
--kubeconfig="" مسیر فایل kubeconfig برای استفاده در درخواستهای CLI.
--kuberc="" مسیر فایل kuberc برای تنظیمات ترجیحی. این قابلیت میتواند با اکسپورت کردن feature gate با مقدار KUBECTL_KUBERC=false یا غیرفعال کردن ویژگی KUBERC=off خاموش شود.
--match-server-version=false الزام به یکسان بودن نسخه سرور با نسخه کلاینت
-n, --namespace="" در صورت وجود، محدوده فضای نام برای این درخواست CLI
--password="" رمز عبور برای احراز هویت پایهای به سرور API
--profile="none" نام پروفایل برای ثبت. یکی از: (none|cpu|heap|goroutine|threadcreate|block|mutex|trace)
--profile-output="profile.pprof" نام فایلی که پروفایل در آن ذخیره میشود
--request-timeout="0" مدت زمانی که باید پیش از انصراف از یک درخواست منفرد به سرور منتظر ماند. مقادیر غیرصفر باید حاوی یک واحد زمانی متناظر باشند (مانند 1s، 2m، 3h). مقدار صفر به معنای عدم اعمال مهلت زمانی برای درخواستها است.
-s, --server="" آدرس و پورت سرور 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)
# منتظر ماندن برای اینکه پاد "busybox1" حاوی وضعیت از نوع "Ready" شود
kubectl wait --for=condition=Ready pod/busybox1
# مقدار پیشفرض شرط وضعیت برابر با true است؛ پس از جداکننده مساوی میتوانید منتظر مقادیر دیگر بمانید (مقایسه پس از تبدیل حروف ساده یونیکد انجام میشود)
kubectl wait --for=condition=Ready=false pod/busybox1
# منتظر ماندن برای اینکه فاز وضعیت پاد "busybox1" برابر با "Running" شود
kubectl wait --for=jsonpath='{.status.phase}'=Running pod/busybox1
# منتظر ماندن تا پاد "busybox1" آماده (Ready) شود
kubectl wait --for='jsonpath={.status.conditions[?(@.type=="Ready")].status}=True' pod/busybox1
# منتظر ماندن برای داشتن اینگرس (ingress) در سرویس "loadbalancer"
kubectl wait --for=jsonpath='{.status.loadBalancer.ingress}' service/loadbalancer
# منتظر ماندن برای ایجاد سکرت "busybox1" با مهلت زمانی ۳۰ ثانیه
kubectl create secret generic busybox1
kubectl wait --for=create secret/busybox1 --timeout=30s
# منتظر ماندن برای حذف پاد "busybox1" با مهلت زمانی ۶۰ ثانیه پس از صدور دستور "delete"
kubectl delete pod/busybox1
kubectl wait --for=delete pod/busybox1 --timeout=60s
# منتظر ماندن برای ایجاد پاد "busybox1" و رسیدن به وضعیت "Ready"
kubectl wait --for=condition=Ready --for=create pod/busybox1
# منتظر ماندن برای اینکه پاد "busybox1" به وضعیت "Ready" برسد یا کانتینرهای آن وضعیت آمادگی "False" را گزارش کنند
until kubectl wait pod/busybox1 --for=condition=Ready --timeout=1s 2>/dev/null || \
kubectl wait pod/busybox1 --for=condition=ContainersReady=False --timeout=1s 2>/dev/null; \
do echo "Checking conditions..."; sleep 1; done
همچنین ببینید (SEE ALSO)
تاریخچه (HISTORY)
ژانویه ۲۰۱۵، در ابتدا توسط اریک پاریس (eparis at redhat dot com) بر اساس منابع اصلی کوبرنتیز گردآوری شد، اما امید است که از آن زمان تاکنون بهطور خودکار تولید شده باشند!
| User | Manuals |