本文討論了存取詳細Pod 狀態資訊的方法,類似於使用Kubernetes Go 用戶端(k8s.io/client-go/kubernetes) 執行kubectl get pods命令。
要取得Pod Phase,請使用下列程式碼:
<code class="go">pods, err := api.Pods("").List(metav1.ListOptions{}) for _, pod := range pods.Items { podstatusPhase := string(pod.Status.Phase) // ... }</code>
要取得進階狀態訊息,例如“Init:0/1”和“PodInitializing”,不需要對客戶端。
kubectl get pods 指令使用 ServerPrint,後者再使用 TablePrinter 來計算 Status 欄位資訊。此計算使用 Pod 狀態條件和容器狀態在伺服器(kube-apiserver)端進行。
如果伺服器端運算不可用,您可以嘗試使用下列資源手動計算狀態資訊:
但是,這種方法需要深入了解 Kubernetes 狀態處理,並且計算可能會根據 Kubernetes 版本而變化。
以上是如何使用 Kubernetes Go 用戶端取得詳細的 Pod 狀態資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!