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

kubectl-annotate - به‌روزرسانی حاشیه‌نویسی‌ها (annotations) روی یک منبع

kubectl annotate [OPTIONS]

به‌روزرسانی حاشیه‌نویسی‌ها (annotations) روی یک یا چند منبع.

تمام اشیاء کوبرنتیز (Kubernetes objects) از توانایی ذخیره‌سازی داده‌های اضافی به همراه شیء در قالب حاشیه‌نویسی (annotation) پشتیبانی می‌کنند. حاشیه‌نویسی‌ها جفت‌های کلید/مقداری هستند که می‌توانند از برچسب‌ها (labels) بزرگ‌تر باشند و مقادیر رشته‌ای دلخواه مانند JSON ساخت‌یافته را در بر بگیرند. ابزارها و افزونه‌های سیستمی ممکن است از حاشیه‌نویسی‌ها برای ذخیره داده‌های خود استفاده کنند.

تلاش برای تنظیم یک حاشیه‌نویسی که از پیش وجود دارد با شکست مواجه می‌شود مگر اینکه --overwrite تنظیم شده باشد. اگر --resource-version مشخص شده باشد و با نسخه کنونی منبع در سرور مطابقت نداشته باشد، دستور با شکست مواجه خواهد شد.

برای مشاهده فهرست کاملی از منابع پشتیبانی‌شده از دستور "kubectl api-resources" استفاده کنید.

--all=false انتخاب تمام منابع در namespace مربوط به انواع منابع مشخص‌شده.

-A, --all-namespaces=false در صورت true بودن، بررسی عمل مشخص‌شده در تمام namespaceها.

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

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

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

--field-selector="" انتخاب‌گر (پرس‌وجوی فیلد) برای فیلتر کردن، از '='، '==' و '!=' پشتیبانی می‌کند (مانند ‎--field-selector key1=value1,key2=value2‎). سرور فقط از تعداد محدودی پرس‌وجوی فیلد به ازای هر نوع پشتیبانی می‌کند.

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

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

--list=false در صورت true بودن، نمایش حاشیه‌نویسی‌های مربوط به یک منبع مشخص.

--local=false در صورت true بودن، حاشیه‌نویسی با api-server ارتباط برقرار نخواهد کرد بلکه به صورت محلی اجرا می‌شود.

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

--overwrite=false در صورت true بودن، اجازه رونویسی حاشیه‌نویسی‌ها داده می‌شود؛ در غیر این صورت به‌روزرسانی‌هایی که حاشیه‌نویسی‌های موجود را بازنویسی کنند رد می‌شوند.

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

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

--resource-version="" در صورت خالی نبودن، به‌روزرسانی حاشیه‌نویسی تنها زمانی موفق خواهد شد که این مقدار برابر با resource-version کنونی شیء باشد. فقط هنگام مشخص کردن یک منبع واحد معتبر است.

-l, --selector="" انتخاب‌گر (پرس‌وجوی برچسب) برای فیلتر کردن، از '='، '=='، '!='، 'in' و 'notin' پشتیبانی می‌کند (مانند ‎-l key1=value1,key2=value2,key3 in (value3)‎). اشیاء منطبق باید تمام قیود برچسب مشخص‌شده را برآورده کنند.

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

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

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

# به‌روزرسانی پاد 'foo' با حاشیه‌نویسی 'description' و مقدار 'my frontend'
# اگر یک حاشیه‌نویسی یکسان چندین بار تنظیم شود، تنها آخرین مقدار اعمال خواهد شد
kubectl annotate pods foo description='my frontend'
# به‌روزرسانی یک پاد شناسایی‌شده با نوع و نام در "pod.json"
kubectl annotate -f pod.json description='my frontend'
# به‌روزرسانی پاد 'foo' با حاشیه‌نویسی 'description' و مقدار 'my frontend running nginx'، با رونویسی هر مقدار موجود
kubectl annotate --overwrite pods foo description='my frontend running nginx'
# به‌روزرسانی تمام پادها در namespace
kubectl annotate pods --all description='my frontend running nginx'
# به‌روزرسانی پاد 'foo' تنها در صورتی که منبع نسبت به نسخه 1 تغییر نکرده باشد
kubectl annotate pods foo description='my frontend running nginx' --resource-version=1
# به‌روزرسانی پاد 'foo' با حذف یک حاشیه‌نویسی به نام 'description' در صورت وجود
# نیازی به فلگ --overwrite ندارد
kubectl annotate pods foo description-

kubectl(1)

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

Jan 2015 Eric Paris