कुबेरनेट्स गो-क्लाइंट: पॉड विवरण पुनर्प्राप्त करें जैसे कि कुबेक्टल पॉड प्राप्त करता है
क्लाइंट-गो लाइब्रेरी का उपयोग करके कुबेरनेट्स क्लस्टर में पॉड विवरण प्राप्त करने के लिए , kubectl get pods -n
एक कुबेरनेट्स क्लाइंट बनाएं: कुबेरनेट्स क्लाइंट प्राप्त करने के विवरण के लिए क्लाइंट-गो दस्तावेज़ देखें।
लक्ष्य नामस्थान निर्दिष्ट करें: वह नामस्थान निर्धारित करें जहां वांछित पॉड्स रहते हैं, जैसे kubectl में -n
पॉड सूची पुनर्प्राप्त करें: क्लाइंट का उपयोग करें निर्दिष्ट नामस्थान के भीतर पॉड्स संसाधन के साथ इंटरफ़ेस करने के लिए CoreV1() विधि। नेमस्पेस में सभी पॉड युक्त पॉडलिस्ट ऑब्जेक्ट प्राप्त करने के लिए सूची() विधि का उपयोग करें।
पॉड जानकारी निकालें: पॉडलिस्ट के माध्यम से पुनरावृति करें, प्रत्येक पॉड के मेटाडेटा और स्थिति की जानकारी तक पहुंचें। विस्तृत जानकारी के लिए, कुबेरनेट्स एपीआई दस्तावेज़ में पॉड और पॉडस्टैटस संरचना परिभाषाएँ देखें।
अतिरिक्त विवरण निकालें: यदि आवश्यक हो, तो पॉड के निर्माण टाइमस्टैम्प का उपयोग करके पॉड आयु, कंटेनर पुनरारंभ और तैयार स्थिति जैसी विशेषताओं की गणना करें और कंटेनर स्थितियाँ।
यहां एक नमूना कोड स्निपेट है जो दर्शाता है कि पॉड नाम, स्थिति, तैयार स्थिति, पुनरारंभ और कैसे प्राप्त करें आयु:
func GetPods(client *meshkitkube.Client, namespace string) (*v1core.PodList, error) {
podInterface := client.KubeClient.CoreV1().Pods(namespace)
podList, err := podInterface.List(context.TODO(), v1.ListOptions{})
return podList, err
}
// Iterate through pods and collect required data
for _, pod := range podList.Items {
podCreationTime := pod.GetCreationTimestamp()
age := time.Since(podCreationTime.Time).Round(time.Second)
podStatus := pod.Status
containerRestarts, containerReady, totalContainers := 0, 0, 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})
}
यह प्रक्रिया वही डेटा प्रदान करेगी जो kubectl get pods -n
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3