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

kubectl create secret docker-registry - ایجاد یک secret برای استفاده با Docker registry

kubectl create secret docker-registry [OPTIONS]

ایجاد یک secret جدید برای استفاده با Docker registryها.

از secretهای dockercfg برای احراز هویت در برابر Docker registryها استفاده می‌شود.
هنگام استفاده از خط فرمان Docker برای push کردن ایمیج‌ها، می‌توانید با اجرای دستور زیر در یک registry مشخص احراز هویت کنید:
'$ docker login DOCKER_REGISTRY_SERVER --username=DOCKER_USER --password=DOCKER_PASSWORD --email=DOCKER_EMAIL'.

این دستور فایل ~/.dockercfg را ایجاد می‌کند که توسط دستورات بعدی 'docker push' و 'docker pull' برای احراز هویت در registry استفاده می‌شود. آدرس ایمیل اختیاری است.

هنگام ایجاد برنامه‌ها، ممکن است یک Docker registry داشته باشید که نیازمند احراز هویت باشد. برای اینکه
nodeها بتوانند از طرف شما ایمیج‌ها را pull کنند، باید این اطلاعات هویتی (credentials) را در اختیار داشته باشند. می‌توانید
با ایجاد یک secret از نوع dockercfg و ضمیمه کردن آن به service account خود، این اطلاعات را فراهم کنید.

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

--append-hash=false افزودن هش secret به انتهای نام آن.

--docker-email="" ایمیل مربوط به Docker registry

--docker-password="" رمز عبور برای احراز هویت در Docker registry

--docker-server="https://index.docker.io/v1" موقعیت سرور برای Docker registry

--docker-username="" نام کاربری برای احراز هویت در Docker registry

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

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

--from-file=[] فایل‌های کلید را می‌توان با استفاده از مسیر فایل آن‌ها مشخص کرد، که در این صورت نام پیش‌فرض dockerconfigjson. به آن‌ها اختصاص می‌یابد، یا اختیاری با یک نام و مسیر فایل مشخص شوند که در این حالت نام داده‌شده استفاده خواهد شد. مشخص کردن یک دایرکتوری، تمام فایل‌های نام‌گذاری‌شده در دایرکتوری را که یک کلید معتبر secret هستند پیمایش می‌کند. برای این دستور، کلید همیشه باید dockerconfigjson. باشد.

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

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

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

--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" از یک اسکیما برای اعتبارسنجی ورودی استفاده کرده و در صورت نامعتبر بودن، درخواست را ناموفق می‌کند. اگر ServerSideFieldValidation روی api-server فعال باشد، اعتبارسنجی سمت سرور انجام می‌شود، در غیر این صورت به اعتبارسنجی کمتر قابل‌اعتماد سمت کلاینت بازمی‌گردد. مقدار "warn" در صورت فعال بودن اعتبارسنجی سمت سرور در API server، درباره فیلدهای ناشناخته یا تکراری هشدار می‌دهد بدون اینکه مانع درخواست شود، و در غیر این صورت مانند "ignore" عمل می‌کند. مقدار "false" یا "ignore" هیچ اعتبارسنجی اسکیمایی انجام نداده و فیلدهای ناشناخته یا تکراری را بدون صدا نادیده می‌گیرد.

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

# اگر از قبل فایل .dockercfg ندارید، یک dockercfg secret به طور مستقیم ایجاد کنید
kubectl create secret docker-registry my-secret --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
# ایجاد یک secret جدید به نام my-secret از روی مسیر ~/.docker/config.json
kubectl create secret docker-registry my-secret --from-file=path/to/.docker/config.json

kubectl-create-secret(1)

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

Jan 2015 Eric Paris