Dapatkan Butiran Pod dengan Kubernetes Go-client
Apabila bekerja dalam kelompok Kubernetes, adalah penting untuk mempunyai cara untuk mengakses butiran pod dengan cekap. Pustaka klien-go Kubernetes menyediakan antara muka untuk berinteraksi dengan kluster, membolehkan pembangun mendapatkan semula pelbagai maklumat.
Satu tugas biasa ialah menyenaraikan semua pod dalam ruang nama tertentu, sama seperti menggunakan perintah kubectl "kubectl dapatkan pod -n
Untuk mencapainya, kami menggunakan perpustakaan klien-go untuk berinteraksi dengan API Kubernetes. Coretan kod berikut menunjukkan cara menyenaraikan pod dalam ruang nama yang diberikan:
<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>
Setelah kami mendapatkan semula senarai pod, kami mengulangi setiap pod dan bekasnya untuk mengumpulkan butiran yang diperlukan:
<code class="go">for _, pod := range podList.Items { podCreationTime := pod.GetCreationTimestamp() age := time.Since(podCreationTime.Time).Round(time.Second) podStatus := pod.Status var containerRestarts int32 var containerReady int var totalContainers int for container := range pod.Spec.Containers { containerRestarts += podStatus.ContainerStatuses[container].RestartCount if podStatus.ContainerStatuses[container].Ready { containerReady++ } totalContainers++ } 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>
Pembolehubah "data" yang terhasil mengandungi tatasusunan rentetan, yang mewakili butiran pod yang dikehendaki: nama, kesediaan, status, kiraan mulakan semula dan umur. Data ini kemudiannya boleh dicetak atau dimanipulasi dengan mudah seperti yang diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Butiran Pod daripada Kluster Kubernetes Menggunakan Pustaka Go-client?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!