| KUBERNETES(1) | راهنمای کاربر kubernetes | KUBERNETES(1) |
نام (NAME)
kubectl-patch - بهروزرسانی فیلدهای یک منبع
خلاصه دستور (SYNOPSIS)
kubectl patch [OPTIONS]
توضیحات (DESCRIPTION)
بهروزرسانی فیلدهای یک منبع با استفاده از وصله ادغام راهبردی (strategic merge patch)، وصله ادغام JSON یا وصله JSON.
قالبهای JSON و YAML پذیرفته میشوند.
نکته: وصله ادغام راهبردی (Strategic merge patch) برای منابع سفارشی (custom resources) پشتیبانی نمیشود.
گزینهها (OPTIONS)
--allow-missing-template-keys=true در صورت true بودن، از هرگونه خطای درون الگوها در زمان مفقود بودن یک فیلد یا کلید map در الگو چشمپوشی میشود. فقط برای فرمتهای خروجی golang و jsonpath اعمال میگردد.
--dry-run="none" باید یکی از مقادیر "none"، "server" یا "client" باشد. اگر راهبرد client باشد، فقط شیئی را که ارسال خواهد شد چاپ میکند بدون اینکه آن را بفرستد. اگر راهبرد server باشد، درخواست سمت سرور را بدون پایدارسازی و ذخیره منبع ارسال میکند.
--field-manager="kubectl-patch" نام مدیری که برای ردیابی مالکیت فیلدها استفاده میشود.
-f, --filename=[] نام فایل، دایرکتوری یا نشانی URL فایلهایی که منبع مورد نظر برای بهروزرسانی را مشخص میکنند
-k, --kustomize="" پردازش دایرکتوری kustomization. این فلگ نمیتواند همراه با -f یا -R استفاده شود.
--local=false در صورت true بودن، وصله (patch) بر روی محتوای فایل اعمال میشود نه منبع سمت سرور.
-o, --output="" فرمت خروجی. یکی از موارد: (json, yaml, kyaml, name, go-template, go-template-file, template, templatefile, jsonpath, jsonpath-as-json, jsonpath-file).
-p, --patch="" وصلهای (patch) که باید بر روی فایل JSON منبع اعمال شود.
--patch-file="" فایلی حاوی یک وصله که باید بر روی منبع اعمال شود.
--record=false ثبت دستور جاری kubectl در حاشیهنویسی (annotation) منبع. اگر روی false تنظیم شود، دستور ثبت نمیشود. اگر روی true تنظیم شود، دستور ثبت میگردد. در صورت عدم تنظیم، به طور پیشفرض تنها در صورتی که مقداری از قبل وجود داشته باشد، مقدار حاشیهنویسی موجود بهروزرسانی میشود.
-R, --recursive=false پردازش بازگشتی دایرکتوری استفادهشده در -f، --filename. زمانی مفید است که بخواهید مانیفستهای مرتبط سازماندهیشده در یک دایرکتوری یکسان را مدیریت کنید.
--show-managed-fields=false در صورت true بودن، هنگام چاپ اشیا در قالب JSON یا YAML، فیلدهای managedFields حفظ میشوند.
--subresource="" در صورت مشخص شدن، patch بر روی زیرمنبع (subresource) شیء درخواستی اعمال خواهد شد.
--template="" رشته الگو یا مسیر فایل الگو برای استفاده در هنگام -o=go-template یا -o=go-template-file. فرمت الگو، الگوهای golang است [http://golang.org/pkg/text/template/#pkg-overview].
--type="strategic" نوع وصله (patch) ارائهشده؛ یکی از موارد [json merge strategic]
گزینههای به ارث رسیده از دستورات والد (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="" مسیر فایل گواهی برای مرجع صدور گواهی (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="" نام سرور برای استفاده در اعتبارسنجی گواهی سرور. در صورت عدم ارائه، از نام هاست مورد استفاده برای برقراری ارتباط با سرور استفاده میشود
--token="" توکن حامل (Bearer token) برای احراز هویت در سرور API
--user="" نام کاربر kubeconfig برای استفاده
--username="" نام کاربری برای احراز هویت پایه در سرور API
--version=false گزینه --version یا --version=raw اطلاعات نسخه را چاپ کرده و خارج میشود؛ --version=vX.Y.Z... نسخه گزارششده را تنظیم میکند
--warnings-as-errors=false در نظر گرفتن هشدارهای دریافتی از سرور به عنوان خطا و خروج با کد وضعیت غیر صفر
مثالها (EXAMPLES)
# بهروزرسانی جزئی یک گره با استفاده از وصله ادغام راهبردی، با مشخص کردن وصله به صورت JSON
kubectl patch node k8s-node-1 -p '{"spec":{"unschedulable":true}}'
# بهروزرسانی جزئی یک گره با استفاده از وصله ادغام راهبردی، با مشخص کردن وصله به صورت YAML
kubectl patch node k8s-node-1 -p $'spec:0unschedulable: true'
# بهروزرسانی جزئی یک گره شناساییشده با نوع و نام مشخص در "node.json" با استفاده از وصله ادغام راهبردی
kubectl patch -f node.json -p '{"spec":{"unschedulable":true}}'
# بهروزرسانی تصویر کانتینر؛ مقدار spec.containers[*].name الزامی است زیرا یک کلید ادغام (merge key) به شمار میرود
kubectl patch pod valid-pod -p '{"spec":{"containers":[{"name":"kubernetes-serve-hostname","image":"new image"}]}}'
# بهروزرسانی تصویر کانتینر با استفاده از یک وصله JSON با آرایههای مبتنی بر موقعیت (positional arrays)
kubectl patch pod valid-pod --type='json' -p='[{"op": "replace", "path": "/spec/containers/0/image", "value":"new image"}]'
# بهروزرسانی تعداد نمونههای (replicas) یک استقرار از طریق زیرمنبع 'scale' با استفاده از یک وصله ادغام (merge patch)
kubectl patch deployment nginx-deployment --subresource='scale' --type='merge' -p '{"spec":{"replicas":2}}'
همچنین ببینید (SEE ALSO)
تاریخچه (HISTORY)
ژانویه ۲۰۱۵، در ابتدا توسط Eric Paris (eparis at redhat dot com) بر پایه محتوای منبع kubernetes گردآوری شد، اما امید است که از آن زمان به بعد به طور خودکار تولید شده باشند!
| Jan 2015 | Eric Paris |