kubectl auth can-i

概要

檢查是否允許某個動作。

VERB 是一個邏輯 Kubernetes API 動詞,例如 'get'、'list'、'watch'、'delete' 等。TYPE 是一個 Kubernetes 資源。捷徑與群組將會被解析。NONRESOURCEURL 是一個以 "/" 開頭的部分 URL。NAME 是一個特定 Kubernetes 資源的名稱。此命令與模擬搭配使用效果良好。請參閱 --as 全域標誌。

kubectl auth can-i VERB [TYPE | TYPE/NAME | NONRESOURCEURL]

範例

  # Check to see if I can create pods in any namespace
  kubectl auth can-i create pods --all-namespaces
  
  # Check to see if I can list deployments in my current namespace
  kubectl auth can-i list deployments.apps
  
  # Check to see if service account "foo" of namespace "dev" can list pods in the namespace "prod"
  # You must be allowed to use impersonation for the global option "--as"
  kubectl auth can-i list pods --as=system:serviceaccount:dev:foo -n prod
  
  # Check to see if I can do everything in my current namespace ("*" means all)
  kubectl auth can-i '*' '*'
  
  # Check to see if I can get the job named "bar" in namespace "foo"
  kubectl auth can-i list jobs.batch/bar -n foo
  
  # Check to see if I can read pod logs
  kubectl auth can-i get pods --subresource=log
  
  # Check to see if I can access the URL /logs/
  kubectl auth can-i get /logs/
  
  # Check to see if I can approve certificates.k8s.io
  kubectl auth can-i approve certificates.k8s.io
  
  # List all allowed actions in namespace "foo"
  kubectl auth can-i --list --namespace=foo

選項

-A, --all-namespaces

如果為 true,則檢查所有命名空間中指定的動作。

-h, --help

can-i 的說明

--list

如果為 true,則列印所有允許的動作。

--no-headers

如果為 true,則列印允許的動作,但不包含標頭

-q, --quiet

如果為 true,則隱藏輸出並僅傳回結束代碼。

--subresource string

子資源,例如 pod/log 或 deployment/scale

--as string

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

--as-group strings

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

--as-uid string

要模擬操作的 UID。

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

預設快取目錄

--certificate-authority string

憑證授權單位 (CA) 憑證檔案的路徑

--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」

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

-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 伺服器身分驗證的 Bearer 權杖

--user string

要使用的 kubeconfig 使用者名稱

--username string

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

--version version[=true]

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

--warnings-as-errors

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

另請參閱

此頁面為自動產生。

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

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