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/-/}")