Maison >développement back-end >Golang >Comment obtenir le nom du premier pod en cours d'exécution dans un déploiement Kubernetes ?
Objectif :
Obtenir le premier pod en cours d'exécution à partir d'un déploiement, filtré par labels.
Solution :
À partir de Kubernetes version 1.9, vous pouvez utiliser l'argument --field-selector pour filtrer les pods en fonction de leur statut.
kubectl get pod -l app=yourapp --field-selector=status.phase==Running -o jsonpath="{items[0].metadata.name}"
Cette commande récupérera une chaîne JSON contenant le nom du premier pod en cours d'exécution qui correspond au donné labels.
Considérations supplémentaires :
Dans les versions antérieures de kubectl, il n'était pas nécessaire de filtrer directement par statut. La plupart des commandes qui attendent un pod comme argument pourraient également accepter un déploiement ou un service et sélectionneraient automatiquement un pod.
kubectl exec deploy/mydeployment -- date kubectl logs deploy/mydeployment -c nginx-1
Ces commandes sélectionneront le premier pod actif (généralement un pod avec le statut « En cours d'exécution ») dans le déploiement spécifié.
Cependant, il est toujours possible d'obtenir une liste des pods en cours d'exécution à l'aide de l'argument --field-selector, même dans les anciennes versions de Kubectl.
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!