Kubectl 在命令列中

擁有正在執行的叢集后,你可以使用 kubectl 命令對其進行管理。使用 kubectl --help 命令可以獲得大多數命令,但我向你展示了最常用的命令,用於管理和獲取有關群集,節點,窗格,服務和標籤的資訊。

要獲取有關群集的資訊,你可以使用以下命令

kubectl cluster-info

它會顯示正在執行的地址和埠。

要獲取有關節點,窗格,服務等的簡簡訊息或在群集中佔有一席之地的任何資源,你可以使用以下命令

kubectl get {nodes, pods, services, ...}

每個資源的輸出大多是一行。

要獲得有關資源的詳細說明,可以使用 describe 標誌作為 kubectl

kubectl describe {nodes, pods, ...}

部署的應用程式僅在群集內可見,因此如果要從群集外部獲取輸出,則應在終端和 kubernetes 群集之間建立路由。

kubectl proxy

它將開啟一個 API,我們可以從叢集中獲取所有內容。如果要獲取用於獲取資訊的 pod 的名稱,則應使用以下命令:

kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'

它將列出 pod 以供以後使用。

curl http://localhost:8001/api/v1/proxy/namespaces/default/pods/{pod_name}/

另外兩個常見命令是從容器化應用程式中獲取日誌和執行命令。

kubectl logs {pod_name}
kubectl exec {pod_name} {command}

配置 shell 的選項卡完成可以通過以下方式完成:

source <(kubectl completion zsh)   # if you're using zsh
source <(kubectl completion bash)  # if you're using bash

或更多程式設計:

source <(kubectl completion "${0/-/}")