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

kubectl-edit - ویرایش یک منبع در سرور

kubectl edit [OPTIONS]

ویرایش یک منبع از طریق ویرایشگر پیش‌فرض.

دستور edit به شما امکان می‌دهد تا هر منبع API را که می‌توانید از طریق ابزارهای خط فرمان بازیابی کنید، به طور مستقیم ویرایش نمایید. این دستور ویرایشگر تعیین‌شده توسط متغیرهای محیطی KUBE_EDITOR یا EDITOR را باز می‌کند، یا در لینوکس به 'vi' و در ویندوز به 'notepad' بازمی‌گردد. هنگام تلاش برای باز کردن ویرایشگر، ابتدا تلاش می‌کند از پوسته‌ای که در متغیر محیطی 'SHELL' تعریف شده است استفاده کند. اگر این متغیر تعریف نشده باشد، از پوسته پیش‌فرض استفاده خواهد شد که برای لینوکس '/bin/bash' و برای ویندوز 'cmd' است.

شما می‌توانید چندین شیء را ویرایش کنید، هرچند تغییرات یکی پس از دیگری اعمال می‌شوند. این دستور نام فایل‌ها و همچنین آرگومان‌های خط فرمان را می‌پذیرد، اگرچه فایل‌هایی که به آن‌ها اشاره می‌کنید باید نسخه‌های ذخیره‌شده پیشین منابع باشند.

ویرایش با نسخه API استفاده‌شده برای واکشی منبع انجام می‌شود. برای ویرایش با استفاده از یک نسخه مشخص API، نام منبع، نسخه و گروه را به‌صورت کامل و مشخص (fully-qualify) وارد کنید.

فرمت پیش‌فرض YAML است. برای ویرایش در قالب JSON، گزینه ‎"-o json";‎ را مشخص کنید.

فلگ --windows-line-endings می‌تواند برای اجبار به استفاده از پایان خط‌های ویندوز به کار رود، در غیر این صورت پایان خط پیش‌فرض سیستم‌عامل شما استفاده خواهد شد.

در صورت بروز خطا هنگام به‌روزرسانی، یک فایل موقت حاوی تغییرات اعمال‌نشده شما روی دیسک ایجاد خواهد شد. رایج‌ترین خطا هنگام به‌روزرسانی یک منبع این است که ویرایشگر دیگری منبع را روی سرور تغییر داده باشد. در صورت وقوع این اتفاق، باید تغییرات خود را روی نسخه جدیدتر منبع اعمال کنید، یا نسخه ذخیره‌شده موقت خود را برای دربرگرفتن آخرین نسخه منبع به‌روزرسانی نمایید.

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

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

-f, --filename=[] نام فایل، دایرکتوری یا نشانی URL فایل‌هایی که برای ویرایش منبع استفاده می‌شوند

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

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

--output-patch=false در صورت ویرایش شدن منبع، خروجی دادن پچ (patch).

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

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

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

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

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

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

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

--windows-line-endings=false پیش‌فرض آن پایان خط بومی پلتفرم شما است.

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

# ویرایش سرویسی به نام 'registry'
kubectl edit svc/registry
# استفاده از یک ویرایشگر جایگزین
KUBE_EDITOR="nano" kubectl edit svc/registry
# ویرایش job با نام 'myjob' در قالب JSON با استفاده از فرمت نسخه v1 API
kubectl edit job.v1.batch/myjob -o json
# ویرایش deployment با نام 'mydeployment' در قالب YAML و ذخیره پیکربندی تغییریافته در حاشیه‌نویسی آن
kubectl edit deployment/mydeployment -o yaml --save-config
# ویرایش زیرمنبع 'status' برای deployment با نام 'mydeployment'
kubectl edit deployment mydeployment --subresource='status'

kubectl(1)

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

Jan 2015 Eric Paris