JSONPath
Teil des Abschnitts Einführung in Kubernetes der Terminal-Journey von Coddy. Lektion 36 von 45.
Oft möchtest du einen Wert und nicht das gesamte Objekt. -o jsonpath wählt mit einem Pfadausdruck Felder aus dem Objekt aus, der zwischen geschweiften Klammern geschrieben wird:
kubectl get pod web -o jsonpath='{.status.podIP}'Dies gibt nur die IP des Pods aus. Der Pfad folgt der YAML-Struktur: status, dann podIP.
Listen werden mit eckigen Klammern indiziert. Das Image des ersten Containers lautet:
kubectl get pod web -o jsonpath='{.spec.containers[0].image}'Für eine Liste von Objekten wählt .items[*] jedes Element aus, daher gibt kubectl get pods -o jsonpath='{.items[*].metadata.name}' alle Pod-Namen in einer Zeile aus.
jsonpath gibt genau das aus, wonach du fragst, ohne einen Zeilenumbruch am Ende. Füge {"\n"} innerhalb der geschweiften Klammern hinzu, wenn du einen möchtest.
Aufgabe
EinfachStarte einen Pod namens web aus dem nginx-Image und verwende dann jsonpath, um seine IP-Adresse auszugeben, und anschließend erneut jsonpath, um das Image seines ersten Containers auszugeben.
Probier es selbst
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Einführung in Kubernetes
Übe selbstständig: Terminal-Playground