Ziel:
Erhalten Sie den ersten laufenden Pod innerhalb eines Bereitstellung, gefiltert nach Etiketten.
Lösung:
Ab Kubernetes Version 1.9 können Sie das Argument --field-selector verwenden, um Pods nach ihrem Status zu filtern.
kubectl get pod -l app=yourapp --field-selector=status.phase==Running -o jsonpath="{items[0].metadata.name}"
Dieser Befehl ruft eine JSON-Zeichenfolge ab, die den Namen des ersten ausgeführten Pods enthält, der mit dem angegebenen übereinstimmt Etiketten.
Zusätzliche Überlegungen:
In früheren Versionen von kubectl war es nicht notwendig, direkt nach Status zu filtern. Die meisten Befehle, die einen Pod als Argument erwarten, könnten auch eine Bereitstellung oder einen Dienst akzeptieren und würden automatisch einen Pod auswählen.
kubectl exec deploy/mydeployment -- date kubectl logs deploy/mydeployment -c nginx-1
Diese Befehle wählen den ersten aktiven Pod aus (normalerweise ein Pod mit dem Status „Wird ausgeführt“). innerhalb der angegebenen Bereitstellung.
Es ist jedoch auch in älteren Versionen von immer noch möglich, eine Liste der ausgeführten Pods mit dem Argument --field-selector abzurufen kubectl.
Das obige ist der detaillierte Inhalt vonWie erhalte ich den Namen des ersten laufenden Pods in einer Kubernetes-Bereitstellung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!