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

kubectl-run - اجرای یک ایمیج مشخص در کلاستر

kubectl run [OPTIONS]

ایجاد و اجرای یک ایمیج مشخص در یک پاد.

--allow-missing-template-keys=true در صورت true بودن، چشم‌پوشی از هرگونه خطا در الگوها هنگامی که یک فیلد یا کلید نگاشت (map key) در الگو وجود ندارد. فقط برای قالب‌های خروجی golang و jsonpath اعمال می‌شود.

--annotations=[] حاشیه‌نویسی‌هایی (annotations) که بر پاد اعمال می‌شوند.

--attach=false در صورت true بودن، منتظر اجرای پاد مانده و سپس به پاد متصل می‌شود به‌گونه‌ای که گویی دستور '... kubectl attach' فراخوانی شده است. مقدار پیش‌فرض false است، مگر آنکه '-i/--stdin' تنظیم شده باشد که در آن صورت پیش‌فرض true خواهد بود. با گزینه '--restart=Never'، کد خروج (exit code) فرآیند کانتینر بازگردانده می‌شود.

--cascade="background" باید یکی از مقادیر "background"، "orphan" یا "foreground" باشد. راهبرد آبشاری حذف را برای وابسته‌ها (مانند پادهای ایجادشده توسط ReplicationController) انتخاب می‌کند. پیش‌فرض بر روی background است.

--command=false در صورت true بودن و وجود آرگومان‌های اضافی، از آن‌ها به عنوان فیلد 'command' در کانتینر استفاده می‌شود، به جای فیلد 'args' که پیش‌فرض است.

--detach-keys="ctrl-p,ctrl-q" تغییر توالی کلیدها برای جدا شدن (detach) از کانتینر.

--dry-run="none" باید یکی از مقادیر "none"، "server" یا "client" باشد. در راهبرد client، تنها شیئی که ارسال می‌شد چاپ می‌شود، بدون آنکه ارسال گردد. در راهبرد server، درخواست سمت سرور ارسال می‌شود بدون آنکه منبع پایدار و ذخیره شود.

--env=[] متغیرهای محیطی برای تنظیم در کانتینر.

--expose=false در صورت true بودن، یک سرویس ClusterIP مرتبط با پاد ایجاد می‌کند. نیازمند --port است.

--field-manager="kubectl-run" نام مدیری که برای ردیابی مالکیت فیلدها استفاده می‌شود.

-f, --filename=[] جهت استفاده برای جایگزینی منبع.

--force=false در صورت true بودن، بلافاصله منابع را از API حذف کرده و از حذف ملایم صرف‌نظر می‌کند. توجه داشته باشید که حذف فوری برخی منابع ممکن است منجر به ناسازگاری یا از دست رفتن داده‌ها شود و نیازمند تایید است.

--grace-period=-1 مدت زمان به ثانیه که به منبع داده می‌شود تا به صورت ملایم خاتمه یابد. در صورت منفی بودن نادیده گرفته می‌شود. برای خاموش شدن فوری روی ۱ تنظیم کنید. تنها زمانی می‌تواند روی ۰ تنظیم شود که --force برابر با true باشد (حذف اجباری).

--image="" ایمیجی که کانتینر باید اجرا کند.

--image-pull-policy="" سیاست دریافت ایمیج (image pull policy) برای کانتینر. در صورت خالی ماندن، این مقدار توسط کلاینت تعیین نشده و مقدار پیش‌فرض توسط سرور اعمال می‌شود.

-k, --kustomize="" پردازش دایرکتوری kustomization. این فلگ نمی‌تواند همراه با -f یا -R استفاده شود.

-l, --labels="" برچسب‌های جداشده با کاما برای اعمال روی پاد. مقادیر قبلی را بازنویسی خواهد کرد.

--leave-stdin-open=false اگر پاد در حالت تعاملی یا با stdin راه‌اندازی شده باشد، stdin پس از پایان اولین اتصال باز می‌ماند. به طور پیش‌فرض، stdin پس از پایان اولین اتصال بسته خواهد شد.

-o, --output="" قالب خروجی. یکی از موارد: (json, yaml, kyaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).

--override-type="merge" روشی که برای بازنویسی شیء تولیدشده استفاده می‌شود: json، merge، یا strategic.

--overrides="" یک بازنویسی JSON درون‌خطی برای شیء تولیدشده. اگر این مقدار غیرخالی باشد، برای بازنویسی شیء تولیدشده استفاده می‌شود. نیازمند آن است که شیء یک فیلد apiVersion معتبر ارائه دهد.

--pod-running-timeout=1m0s مدت زمان انتظار (مانند 5s، 2m یا 3h، بیشتر از صفر) تا زمانی که حداقل یک پاد در حال اجرا باشد

--port="" پورتی که این کانتینر در معرض دسترسی قرار می‌دهد (expose می‌کند).

--privileged=false در صورت true بودن، کانتینر در حالت ممتاز (privileged mode) اجرا می‌شود.

-q, --quiet=false در صورت true بودن، پیام‌های اعلان (prompt) نادیده گرفته می‌شوند.

--record=false ثبت دستور فعلی kubectl در حاشیه‌نویسی منبع. در صورت تنظیم روی false، دستور ثبت نمی‌شود. در صورت تنظیم روی true، دستور ثبت می‌شود. در صورت عدم تنظیم، به طور پیش‌فرض مقدار حاشیه‌نویسی موجود تنها در صورتی به‌روزرسانی می‌شود که از قبل وجود داشته باشد.

-R, --recursive=false پردازش بازگشتی دایرکتوری استفاده‌شده در -f، --filename. زمانی کاربرد دارد که می‌خواهید مانیفست‌های مرتبط سازمان‌یافته در یک دایرکتوری یکسان را مدیریت کنید.

--restart="Always" سیاست راه‌اندازی مجدد (restart policy) برای این پاد. مقادیر مجاز [Always, OnFailure, Never].

--rm=false در صورت true بودن، پاد پس از خروج حذف می‌شود. تنها هنگام اتصال به کانتینر معتبر است، مانند استفاده از '--attach' یا '-i/--stdin'.

--save-config=false در صورت true بودن، پیکربندی شیء فعلی در حاشیه‌نویسی آن ذخیره می‌شود؛ در غیر این صورت حاشیه‌نویسی بدون تغییر خواهد ماند. این فلگ زمانی مفید است که بخواهید در آینده دستور kubectl apply را بر روی این شیء اجرا کنید.

--show-managed-fields=false در صورت true بودن، فیلدهای managedFields هنگام چاپ اشیاء در قالب‌های JSON یا YAML حفظ می‌شوند.

-i, --stdin=false باز نگه داشتن ورودی استاندارد (stdin) روی کانتینر درون پاد، حتی اگر چیزی به آن متصل نباشد.

--template="" رشته الگو یا مسیر فایل الگو برای استفاده در زمان -o=go-template یا -o=go-template-file. فرمت الگو از نوع الگوهای golang است [http://golang.org/pkg/text/template/#pkg-overview].

--timeout=0s مدت زمان انتظار پیش از انصراف از حذف؛ مقدار صفر به معنای تعیین مدت‌زمان انقضا بر اساس اندازه شیء است.

-t, --tty=false اختصاص یک TTY برای کانتینر درون پاد.

--wait=false در صورت true بودن، پیش از بازگشت منتظر از بین رفتن منابع می‌ماند. این گزینه منتظر نهایی‌سازها (finalizers) می‌ماند.

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

# راه‌اندازی یک پاد nginx
kubectl run nginx --image=nginx
# راه‌اندازی یک پاد hazelcast و قرار دادن پورت 5701 در معرض دسترسی برای کانتینر
kubectl run hazelcast --image=hazelcast/hazelcast --port=5701
# راه‌اندازی یک پاد hazelcast و تنظیم متغیرهای محیطی "DNS_DOMAIN=cluster" و "POD_NAMESPACE=default" در کانتینر
kubectl run hazelcast --image=hazelcast/hazelcast --env="DNS_DOMAIN=cluster" --env="POD_NAMESPACE=default"
# راه‌اندازی یک پاد hazelcast و تنظیم برچسب‌های "app=hazelcast" و "env=prod" در کانتینر
kubectl run hazelcast --image=hazelcast/hazelcast --labels="app=hazelcast,env=prod"
# اجرای آزمایشی (dry run)؛ چاپ اشیاء API مربوطه بدون ایجاد واقعی آن‌ها
kubectl run nginx --image=nginx --dry-run=client
# راه‌اندازی یک پاد nginx، اما بازنویسی مشخصات با مجموعه‌ای جزئی از مقادیر ارائه‌شده از JSON
kubectl run nginx --image=nginx --overrides='{ "apiVersion": "v1", "spec": { ... } }'
# راه‌اندازی یک پاد busybox و نگه داشتن آن در پیش‌زمینه، عدم راه‌اندازی مجدد در صورت خروج
kubectl run -i -t busybox --image=busybox --restart=Never
# راه‌اندازی پاد nginx با استفاده از دستور پیش‌فرض، اما استفاده از آرگومان‌های سفارشی (arg1 .. argN) برای آن دستور
kubectl run nginx --image=nginx -- <arg1> <arg2> ... <argN>
# راه‌اندازی پاد nginx با استفاده از یک دستور متفاوت و آرگومان‌های سفارشی
kubectl run nginx --image=nginx --command -- <cmd> <arg1> ... <argN>

kubectl(1)

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

Jan 2015 Eric Paris