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

kubectl-replace - جایگزینی یک منبع از طریق نام فایل یا stdin

kubectl replace [OPTIONS]

جایگزینی یک منبع از طریق نام فایل یا ورودی استاندارد (stdin).

قالب‌های JSON و YAML پذیرفته می‌شوند. در صورت جایگزینی یک منبع موجود، باید مشخصات کامل منبع (resource spec) ارائه شود. این مشخصات می‌تواند با دستور زیر به دست آید:

$ kubectl get TYPE NAME -o yaml

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

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

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

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

-f, --filename=[] فایل‌هایی که شامل پیکربندی‌ها برای جایگزینی هستند.

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

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

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

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

--raw="" شناسه خام URI برای ارسال درخواست PUT به سرور. از انتقال مشخص‌شده در فایل kubeconfig استفاده می‌کند.

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

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

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

--subresource="" در صورت مشخص شدن، عملیات replace روی زیرمنبع (subresource) شیء درخواستی انجام می‌شود.

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

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

--validate="strict" باید یکی از مقادیر strict (یا true)، warn، یا ignore (یا false) باشد. مقدار "true" یا "strict" از یک طرح‌واره (schema) برای اعتبارسنجی ورودی استفاده می‌کند و در صورت نامعتبر بودن، درخواست را با شکست مواجه می‌سازد. اگر ServerSideFieldValidation روی api-server فعال باشد، اعتبارسنجی سمت سرور را انجام می‌دهد، در غیر این صورت به اعتبارسنجی کمتر قابل‌اعتماد سمت کلاینت بازمی‌گردد. مقدار "warn" در صورت فعال بودن اعتبارسنجی سمت سرور در سرور API، درباره فیلدهای ناشناخته یا تکراری بدون مسدود کردن درخواست هشدار می‌دهد و در غیر این صورت مانند "ignore" عمل می‌کند. مقدار "false" یا "ignore" هیچ اعتبارسنجی طرح‌واره‌ای انجام نمی‌دهد و فیلدهای ناشناخته یا تکراری را بدون هشدار نادیده می‌گیرد.

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

# جایگزینی یک پاد با استفاده از داده‌های موجود در pod.json
kubectl replace -f ./pod.json
# جایگزینی یک پاد بر اساس JSON ارسال‌شده به stdin
cat pod.json | kubectl replace -f -
# به‌روزرسانی نسخه تصویر (تگ) یک پاد تک‌کانتینری به v4
kubectl get pod mypod -o yaml | sed 's/\(image: myimage\):.*$/\1:v4/' | kubectl replace -f -
# جایگزینی اجباری، حذف و سپس ایجاد مجدد منبع
kubectl replace --force -f ./pod.json

kubectl(1)

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

Jan 2015 Eric Paris