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

kubectl-completion - خروجی کد تکمیل دستورات برای پوسته مشخص‌شده (bash، zsh، fish یا powershell)

kubectl completion [OPTIONS]

تولید و خروجی کد تکمیل خودکار برای پوستهٔ مشخص‌شده (bash، zsh، fish یا powershell). کد پوسته باید ارزیابی و اجرا (evaluate) شود تا امکان تکمیل تعاملی دستورات kubectl فراهم گردد. این کار می‌تواند با source کردن آن از درون .bash_profile انجام شود.

دستورالعمل‌های دقیق در مورد نحوه انجام این کار در اینجا در دسترس است:

برای macOS:
https://kubernetes.io/docs/tasks/tools/install-kubectl-macos/#enable-shell-autocompletion
برای linux:
https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/#enable-shell-autocompletion
برای windows:
https://kubernetes.io/docs/tasks/tools/install-kubectl-windows/#enable-shell-autocompletion

نکته برای کاربران zsh: [1] تکمیل‌های zsh تنها در نسخه‌های zsh >= 5.2 پشتیبانی می‌شوند.

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

# نصب تکمیل bash در macOS با استفاده از homebrew
## اگر از Bash 3.2 ارائه‌شده همراه با macOS استفاده می‌کنید
brew install bash-completion
## یا اگر از نسخه 4.1 یا بالاتر Bash استفاده می‌کنید
brew install bash-completion@2
## اگر kubectl از طریق homebrew نصب شده است، این قابلیت باید بلافاصله شروع به کار کند
## در صورت نصب از روش‌های دیگر، ممکن است لازم باشد تکمیل را به دایرکتوری تکمیل خود بیفزایید
kubectl completion bash > $(brew --prefix)/etc/bash_completion.d/kubectl
# نصب تکمیل bash در لینوکس
## اگر bash-completion در لینوکس نصب نیست، بسته 'bash-completion' را
## از طریق مدیر بسته توزیع خود نصب کنید.
## بارگذاری کد تکمیل kubectl برای bash در پوسته فعلی
source <(kubectl completion bash)
## نوشتن کد تکمیل bash در یک فایل و source کردن آن از .bash_profile
kubectl completion bash > ~/.kube/completion.bash.inc
printf "
# kubectl shell completion
source '$HOME/.kube/completion.bash.inc'
" >> $HOME/.bash_profile
source $HOME/.bash_profile
# بارگذاری کد تکمیل kubectl برای zsh[1] در پوسته فعلی
source <(kubectl completion zsh)
# تنظیم کد تکمیل kubectl برای zsh[1] جهت بارگذاری خودکار هنگام راه‌اندازی
kubectl completion zsh > "${fpath[1]}/_kubectl"
# بارگذاری کد تکمیل kubectl برای fish[2] در پوسته فعلی
kubectl completion fish | source
# برای بارگذاری تکمیل‌ها در هر نشست، یک‌بار اجرا کنید:
kubectl completion fish > ~/.config/fish/completions/kubectl.fish
# بارگذاری کد تکمیل kubectl برای powershell در پوسته فعلی
kubectl completion powershell | Out-String | Invoke-Expression
# تنظیم کد تکمیل kubectl برای powershell جهت اجرا هنگام راه‌اندازی
## ذخیره کد تکمیل در یک اسکریپت و اجرای آن در profile
kubectl completion powershell > "$HOME\.kube\completion.ps1"
Add-Content $PROFILE ". '$HOME\.kube\completion.ps1'"
## اجرای کد تکمیل در profile
Add-Content $PROFILE "if (Get-Command kubectl -ErrorAction SilentlyContinue) {
kubectl completion powershell | Out-String | Invoke-Expression
}"
## افزودن مستقیم کد تکمیل به اسکریپت PROFILE$
kubectl completion powershell >> $PROFILE

kubectl(1)

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

Jan 2015 Eric Paris