GOOGLE ADS

Sonntag, 17. April 2022

Kubernetes (kubectl) bekommt laufende Pods

Ich versuche, den ersten Pod aus einer Bereitstellung (nach Labels gefiltert) mit dem Status „ Running " abzurufen – derzeit konnte ich nur Folgendes erreichen, was mir nur den ersten Pod innerhalb einer Bereitstellung (nach Labels gefiltert) liefert – und nicht sicher ein laufender Pod, z. B. könnte es auch ein beendender sein:

kubectl get pod -l "app=myapp" -l "tier=webserver" -l "namespace=test" 
-o jsonpath="{.items[0].metadata.name}"

Wie ist es möglich

a) bekomme nur eine Pod-Liste von "RUNNING" Pods und (konnte hier oder bei Google nichts finden)

b) Wählen Sie den ersten aus dieser Liste aus. (das mache ich gerade)

Grüße

Update: Ich habe den zuvor in den Kommentaren geposteten Link bereits mit folgendem versucht:

kubectl get pod -l "app=ms-bp" -l "tier=webserver" -l "namespace=test" 
-o json | jq -r '.items[] | select(.status.phase = "Running") |.items[0].metadata.name'

das Ergebnis ist 4x "null" - es gibt 4 laufende Pods.

Edit2: Gelöst - siehe Kommentare


Lösung des Problems

Seit kubectl 1.9 haben Sie die Möglichkeit, ein --field-selectorArgument zu übergeben (siehe https://github.com/kubernetes/kubernetes/pull/50140 ). Z.B

kubectl get pod -l app=yourapp --field-selector=status.phase==Running -o jsonpath="{.items[0].metadata.name}"

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...