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 | |
將從伺服器收到的警告視為錯誤,並以非零結束代碼退出 |
另請參閱
- kubectl auth - 檢查授權
此頁面為自動產生。
如果您計劃回報此頁面的問題,請在您的問題描述中提及此頁面為自動產生。修正可能需要在 Kubernetes 專案的其他地方進行。