Go-Client Kubernetes : Récupération des détails du pod comme « kubectl get pods »
Pour obtenir les détails du pod d'un cluster Kubernetes à l'aide du client Kubernetes -go, suivez ces étapes :
Créez une interface de pod : Utilisez l'interface Pod du client-go pour gérer les pods dans un espace de noms spécifique.
<code class="go">podInterface := client.KubeClient.CoreV1().Pods(namespace)</code>
Liste des pods : Récupère tous les pods dans l'espace de noms.
<code class="go">podList, err := podInterface.List(context.TODO(), v1.ListOptions{})</code>
Itérer sur les pods : Parcourez la liste des pods récupérés pour extraire des détails spécifiques tels que le nom, l'état, l'état de préparation, les redémarrages et l'âge.
<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>
Cette approche génère efficacement un tableau similaire au résultat de ' kubectl récupère les pods -n
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!