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

kubectl-diff - مقایسه نسخه جاری و زنده با نسخه‌ای که قرار است اعمال شود

kubectl diff [OPTIONS]

پیکربندی‌های مشخص‌شده توسط نام فایل یا ورودی استاندارد (stdin) را میان پیکربندی آنلاین جاری و پیکربندی در حالتی که اعمال شود، مقایسه می‌کند.

خروجی همیشه YAML است.

متغیر محیطی KUBECTL_EXTERNAL_DIFF می‌تواند برای انتخاب دستور diff سفارشی شما استفاده شود. کاربران می‌توانند از دستورات خارجی به همراه پارامترها نیز استفاده کنند، به عنوان مثال: KUBECTL_EXTERNAL_DIFF="colordiff -N -u"

به‌طور پیش‌فرض، دستور "diff" موجود در مسیر (PATH) شما همراه با گزینه‌های -u (تفاوت یکپارچه یا unified diff) و -N (در نظر گرفتن فایل‌های ناموجود به عنوان فایل خالی) اجرا خواهد شد.

وضعیت خروج: 0 هیچ تفاوتی یافت نشد. 1 تفاوت‌هایی یافت شد. ‎>1 دستور kubectl یا diff با خطا مواجه شد.

نکته: در صورت استفاده از KUBECTL_EXTERNAL_DIFF، انتظار می‌رود که از این قاعده پیروی کند.

--concurrency=1 تعداد اشیایی که هنگام مقایسه با نسخه زنده به صورت موازی پردازش می‌شوند. عدد بزرگتر = سرعت بیشتر، اما مصرف حافظه، ورودی/خروجی (I/O) و پردازنده (CPU) بیشتر در آن بازه زمانی کوتاه‌تر.

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

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

--force-conflicts=false در صورت true بودن، اعمال سمت سرور (server-side apply) تغییرات را با وجود تداخل‌ها تحمیل خواهد کرد.

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

--prune=false شامل کردن منابعی که در فرآیند هرس (prune) حذف خواهند شد. می‌تواند همراه با -l استفاده شود و به صورت پیش‌فرض تمام منابعی که هرس می‌شوند را نشان می‌دهد

--prune-allowlist=[] بازنویسی لیست مجاز پیش‌فرض با مقادیر مشخص‌شده برای --prune

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

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

--server-side=false در صورت true بودن، اعمال به جای کلاینت روی سرور اجرا می‌شود.

--show-managed-fields=false در صورت true بودن، فیلدهای مدیریت‌شده (managed fields) در مقایسه گنجانده می‌شوند.

--show-secrets=false در صورت true بودن، مقادیر secretها در خروجی مقایسه ماسک (مخفی) نمی‌شوند.

--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 diff -f pod.json
# مقایسه فایل خوانده‌شده از stdin
cat service.yaml | kubectl diff -f -

kubectl(1)

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

Jan 2015 Eric Paris