Bagaimana untuk Menyenaraikan Butiran Pod dalam Kubernetes menggunakan Klien Go?

Mary-Kate Olsen
Lepaskan: 2024-10-24 19:04:02
asal
668 orang telah melayarinya

How to List Pod Details in Kubernetes using the Go Client?

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:

  1. Import pakej yang diperlukan:
<code class="go">import (
    "context"
    "fmt"
    "time"

    corev1 "k8s.io/api/core/v1"
    metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)</code>
Salin selepas log masuk
  1. Buat fungsi untuk menyenaraikan pod dalam ruang nama yang diingini:
<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>
Salin selepas log masuk
  1. Lelar melalui yang diambil pod untuk mengekstrak data yang diperlukan:
<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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!