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

kubectl-set-env - به‌روزرسانی متغیرهای محیطی در یک الگوی پاد (pod template)

kubectl set env [OPTIONS]

به‌روزرسانی متغیرهای محیطی در یک الگوی پاد (pod template).

فهرست کردن تعاریف متغیرهای محیطی در یک یا چند پاد یا الگوی پاد. افزودن، به‌روزرسانی یا حذف تعاریف متغیرهای محیطی کانتینر در یک یا چند الگوی پاد (درون replication controllerها یا پیکربندی‌های deployment). مشاهده یا ویرایش تعاریف متغیرهای محیطی روی تمام کانتینرها در پادها یا الگوهای پاد مشخص‌شده، یا تنها مواردی که با یک الگوی نویسه عمومی (wildcard) تطابق دارند.

اگر "--env -" ارسال شود، متغیرهای محیطی را می‌توان از STDIN با استفاده از نحو استاندارد env خواند.

منابع ممکن شامل موارد زیر هستند (غیرحساس به حروف کوچک و بزرگ):

pod (po), replicationcontroller (rc), deployment (deploy), daemonset (ds), statefulset (sts), cronjob (cj), replicaset (rs)

--all=false در صورت true بودن، انتخاب تمام منابع در فضای نام (namespace) مربوط به انواع منابع مشخص‌شده.

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

-c, --containers="*" نام کانتینرها در الگوهای پاد انتخاب‌شده برای تغییر؛ می‌تواند از نویسه‌های عمومی (wildcards) استفاده کند.

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

-e, --env=[] مشخص کردن یک جفت کلید-مقدار برای یک متغیر محیطی جهت تنظیم در هر کانتینر.

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

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

--from="" نام منبعی که متغیرهای محیطی از آن تزریق می‌شوند.

--keys=[] فهرستی جداشده با کاما از کلیدها برای وارد کردن (import) از منبع مشخص‌شده.

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

--list=false در صورت true بودن، نمایش متغیرهای محیطی و هرگونه تغییرات در قالب استاندارد. این فلگ زمانی که دستور kubectl view env فراهم شود حذف خواهد شد.

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

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

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

--prefix="" پیشوندی که به نام متغیرها اضافه می‌شود.

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

--resolve=false در صورت true بودن، نمایش ارجاعات secret یا configmap هنگام فهرست کردن متغیرها.

-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) در یک فضای نام باشد.

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

# به‌روزرسانی deployment به نام 'registry' با یک متغیر محیطی جدید
kubectl set env deployment/registry STORAGE_DIR=/local
# فهرست کردن متغیرهای محیطی تعریف‌شده روی یک deployment به نام 'sample-build'
kubectl set env deployment/sample-build --list
# فهرست کردن متغیرهای محیطی تعریف‌شده روی تمام پادها
kubectl set env pods --all --list
# خروجی deployment تغییریافته در قالب YAML بدون تغییر شیء روی سرور
kubectl set env deployment/sample-build STORAGE_DIR=/data -o yaml
# به‌روزرسانی تمام کانتینرها در تمام replication controllerها در پروژه برای داشتن ENV=prod
kubectl set env rc --all ENV=prod
# وارد کردن متغیرهای محیطی از یک secret
kubectl set env --from=secret/mysecret deployment/myapp
# وارد کردن متغیرهای محیطی از یک config map با یک پیشوند
kubectl set env --from=configmap/myconfigmap --prefix=MYSQL_ deployment/myapp
# وارد کردن کلیدهای خاص از یک config map
kubectl set env --keys=my-example-key --from=configmap/myconfigmap deployment/myapp
# حذف متغیر محیطی ENV از کانتینر 'c1' در تمام پیکربندی‌های deployment
kubectl set env deployments --all --containers="c1" ENV-
# حذف متغیر محیطی ENV از تعریف deployment روی دیسک و به‌روزرسانی پیکربندی deployment روی سرور
kubectl set env -f deploy.json ENV-
# تنظیم بخشی از متغیرهای محیطی شل محلی روی یک پیکربندی deployment در سرور
env | grep RAILS_ | kubectl set env -e - deployment/registry

kubectl-set(1)

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

Jan 2015 Eric Paris