Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyenaraikan Butiran Pod dalam Kubernetes menggunakan Klien Go?
Senarai Butiran Pod dengan Kubernetes Go-Client
Mengakses butiran pod menggunakan pustaka klien-go Kubernetes membolehkan anda mendapatkan semula maklumat yang serupa dengan menggunakan perintah kubectl get pods.
Untuk mendapatkan butiran khusus seperti nama, status, keadaan sedia, mulakan semula dan umur pod dalam ruang nama yang diberikan, ikut langkah berikut:
<code class="go">import ( "context" "fmt" "time" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" )</code>
<code class="go">func GetPods(client *meshkitkube.Client, namespace string) (*v1core.PodList, error) { podInterface := client.KubeClient.CoreV1().Pods(namespace) podList, err := podInterface.List(context.TODO(), v1.ListOptions{}) if err != nil { return nil, err } return podList, nil }</code>
<code class="go">// List pod details similar to `kubectl get pods -n <my namespace>` for _, pod := range podList.Items { podCreationTime := pod.GetCreationTimestamp() age := time.Since(podCreationTime.Time).Round(time.Second) podStatus := pod.Status containerRestarts := int32(0) containerReady := 0 totalContainers := len(pod.Spec.Containers) for container := range pod.Spec.Containers { containerRestarts += podStatus.ContainerStatuses[container].RestartCount if podStatus.ContainerStatuses[container].Ready { containerReady++ } } name := pod.GetName() ready := fmt.Sprintf("%v/%v", containerReady, totalContainers) status := fmt.Sprintf("%v", podStatus.Phase) restarts := fmt.Sprintf("%v", containerRestarts) ageS := age.String() data = append(data, []string{name, ready, status, restarts, ageS}) }</code>
Atas ialah kandungan terperinci Bagaimana untuk Menyenaraikan Butiran Pod dalam Kubernetes menggunakan Klien Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!