kubectl completion

概要

為指定的 Shell (bash、zsh、fish 或 powershell) 輸出 Shell 補全程式碼。必須評估 Shell 程式碼才能提供 kubectl 命令的互動式補全。這可以透過從 .bash_profile 來源程式碼來完成。

關於如何執行此操作的詳細說明,請參閱此處

    for macOS:
    https://kubernetes.dev.org.tw/docs/tasks/tools/install-kubectl-macos/#enable-shell-autocompletion
    
    for linux:
    https://kubernetes.dev.org.tw/docs/tasks/tools/install-kubectl-linux/#enable-shell-autocompletion
    
    for windows:
    https://kubernetes.dev.org.tw/docs/tasks/tools/install-kubectl-windows/#enable-shell-autocompletion

zsh 使用者注意事項:[1] 僅在 zsh >= 5.2 版本中支援 zsh 補全。

kubectl completion SHELL

範例

  # Installing bash completion on macOS using homebrew
  ## If running Bash 3.2 included with macOS
  brew install bash-completion
  ## or, if running Bash 4.1+
  brew install bash-completion@2
  ## If kubectl is installed via homebrew, this should start working immediately
  ## If you've installed via other means, you may need add the completion to your completion directory
  kubectl completion bash > $(brew --prefix)/etc/bash_completion.d/kubectl
  
  
  # Installing bash completion on Linux
  ## If bash-completion is not installed on Linux, install the 'bash-completion' package
  ## via your distribution's package manager.
  ## Load the kubectl completion code for bash into the current shell
  source <(kubectl completion bash)
  ## Write bash completion code to a file and source it from .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
  
  # Load the kubectl completion code for zsh[1] into the current shell
  source <(kubectl completion zsh)
  # Set the kubectl completion code for zsh[1] to autoload on startup
  kubectl completion zsh > "${fpath[1]}/_kubectl"
  
  
  # Load the kubectl completion code for fish[2] into the current shell
  kubectl completion fish | source
  # To load completions for each session, execute once:
  kubectl completion fish > ~/.config/fish/completions/kubectl.fish
  
  # Load the kubectl completion code for powershell into the current shell
  kubectl completion powershell | Out-String | Invoke-Expression
  # Set kubectl completion code for powershell to run on startup
  ## Save completion code to a script and execute in the profile
  kubectl completion powershell > $HOME\.kube\completion.ps1
  Add-Content $PROFILE "$HOME\.kube\completion.ps1"
  ## Execute completion code in the profile
  Add-Content $PROFILE "if (Get-Command kubectl -ErrorAction SilentlyContinue) {
  kubectl completion powershell | Out-String | Invoke-Expression
  }"
  ## Add completion code directly to the $PROFILE script
  kubectl completion powershell >> $PROFILE

選項

-h, --help

completion 的說明

--as string

要模擬操作的使用者名稱。使用者可以是命名空間中的一般使用者或服務帳戶。

--as-group strings

要模擬操作的群組,可以重複此標記以指定多個群組。

--as-uid string

要模擬操作的 UID。

--cache-dir string     預設值: "$HOME/.kube/cache"

預設快取目錄

--certificate-authority string

憑證授權單位的憑證檔案路徑

--client-certificate string

TLS 的用戶端憑證檔案路徑

--client-key string

TLS 的用戶端金鑰檔案路徑

--cluster string

要使用的 kubeconfig 叢集名稱

--context string

要使用的 kubeconfig 內容名稱

--default-not-ready-toleration-seconds int     預設值: 300

表示預設新增到每個尚未具有此容忍度的 Pod 的 notReady:NoExecute 容忍度的 tolerationSeconds。

--default-unreachable-toleration-seconds int     預設值: 300

表示預設新增到每個尚未具有此容忍度的 Pod 的 unreachable:NoExecute 容忍度的 tolerationSeconds。

--disable-compression

如果為 true,則選擇不對所有伺服器請求進行回應壓縮

--insecure-skip-tls-verify

如果為 true,則不會檢查伺服器憑證的有效性。這會使您的 HTTPS 連線不安全

--kubeconfig string

用於 CLI 請求的 kubeconfig 檔案路徑。

--match-server-version

要求伺服器版本與用戶端版本相符

-n, --namespace string

如果存在,此 CLI 請求的命名空間範圍

--password string

用於 API 伺服器的基本身份驗證密碼

--profile string     預設值: "none"

要捕獲的設定檔名稱。選項之一 (none|cpu|heap|goroutine|threadcreate|block|mutex)

--profile-output string     預設值: "profile.pprof"

要將設定檔寫入的檔案名稱

--request-timeout string     預設值: "0"

在放棄單個伺服器請求之前要等待的時間長度。非零值應包含對應的時間單位 (例如 1s、2m、3h)。值為零表示請求永不逾時。

-s, --server string

Kubernetes API 伺服器的位址和連接埠

--storage-driver-buffer-duration duration     預設值: 1m0s

儲存驅動程式中的寫入將緩衝此持續時間,並作為單個交易提交到非記憶體後端

--storage-driver-db string     預設值: "cadvisor"

資料庫名稱

--storage-driver-host string     預設值: "localhost:8086"

資料庫主機:連接埠

--storage-driver-password string     預設值: "root"

資料庫密碼

--storage-driver-secure

使用與資料庫的安全連線

--storage-driver-table string     預設值: "stats"

表名稱

--storage-driver-user string     預設值: "root"

資料庫使用者名稱

--tls-server-name string

用於伺服器憑證驗證的伺服器名稱。如果未提供,則使用用於聯絡伺服器的主機名稱

--token string

用於 API 伺服器的身份驗證承載權杖

--user string

要使用的 kubeconfig 使用者名稱

--username string

用於 API 伺服器的基本身份驗證使用者名稱

--version version[=true]

--version、--version=raw 列印版本資訊並結束;--version=vX.Y.Z... 設定報告的版本

--warnings-as-errors

將從伺服器收到的警告視為錯誤,並以非零結束代碼結束

另請參閱

  • kubectl - kubectl 控制 Kubernetes 叢集管理器

此頁面為自動產生。

如果您計劃報告此頁面的問題,請在您的問題描述中提及此頁面是自動產生的。修正可能需要在 Kubernetes 專案的其他位置進行。

上次修改時間為 2024 年 8 月 19 日下午 5:14 PST:更新 v1.31 的 kubectl 參考 (59df28c340)