Maison >développement back-end >Golang >Comment puis-je récupérer uniquement les pods en cours d'exécution à l'aide de kubectl ?
Récupération des pods en cours d'exécution avec kubectl get
Kubernetes fournit la commande kubectl get pour extraire des informations sur diverses ressources, y compris les pods. Pour des cas d'utilisation spécifiques, il peut être nécessaire de récupérer uniquement les pods en cours d'exécution. Pour résoudre ce problème, l'option --field-selector a été introduite dans la version 1.9 de kubectl.
kubectl get pod -l app=yourapp --field-selector=status.phase==Running -o jsonpath="{.items[0].metadata.name}"
Cette commande filtre les pods en fonction de l'étiquette app=yourapp et du sélecteur de champ status.phase==Running. L'argument -o jsonpath garantit que seul le nom du premier pod en cours d'exécution est renvoyé.
Approches alternatives
Pour les versions de kubectl antérieures à 1.9, des approches alternatives peuvent être utilisées . Une option consiste à utiliser jq pour sélectionner le premier pod en cours d'exécution dans une liste filtrée :
kubectl get pod -l "app=myapp" -l "tier=webserver" -l "namespace=test" | jq -r '.items[] | select(.status.phase = "Running") | .items[0].metadata.name'
Cependant, cette méthode peut rencontrer des problèmes lorsque plusieurs pods correspondent aux critères.
Une autre approche consiste à exploiter le mécanisme d'auto-sélection de certaines commandes kubectl. Par exemple, le transfert de port kubectl et les journaux kubectl peuvent sélectionner automatiquement un pod en cours d'exécution en fonction du type de ressource spécifié (par exemple, déploiement, service).
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!