Kubernetes Go-Client: Abrufen von Pod-Details wie „kubectl get pods“
Um Pod-Details von einem Kubernetes-Cluster mithilfe des Kubernetes-Clients abzurufen -go, folgen Sie diesen Schritten:
Erstellen Sie eine Pod-Schnittstelle:Verwenden Sie die Pod-Schnittstelle des Client-go, um Pods in einem bestimmten Namespace zu verwalten.
<code class="go">podInterface := client.KubeClient.CoreV1().Pods(namespace)</code>
Pods auflisten:Alle Pods im Namespace abrufen.
<code class="go">podList, err := podInterface.List(context.TODO(), v1.ListOptions{})</code>
Über Pods iterieren: Durchlaufen Sie die abgerufene Pod-Liste, um spezifische Details wie Name, Status, Bereitschaftsstatus, Neustarts und Alter zu extrahieren.
<code class="go">for _, pod := range podList.Items { // Calculate pod age age := time.Since(pod.GetCreationTimestamp().Time).Round(time.Second) // Get pod status podStatus := pod.Status // Accumulate container stats var containerRestarts, containerReady, totalContainers int32 for range pod.Spec.Containers { // Add restart count from container status containerRestarts += podStatus.ContainerStatuses[container].RestartCount // Calculate number of ready containers if podStatus.ContainerStatuses[container].Ready { containerReady++ } totalContainers++ } }</code>
Dieser Ansatz generiert effektiv eine Tabelle ähnlich der Ausgabe von „ kubectl get pods -n
Das obige ist der detaillierte Inhalt vonWie verwende ich den Kubernetes Go-Client zum Abrufen detaillierter Pod-Informationen wie „kubectl get pods'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!