Menu
CoddyTech

JSONPath

本课属于 Coddy Terminal 学习旅程的“Kubernetes 入门”单元。第 36 课,共 45 课。

你通常只需要一个值,而不是整个对象。-o jsonpath通过路径表达式从对象中提取字段,路径表达式写在花括号中:

kubectl get pod web -o jsonpath='{.status.podIP}'

这只会输出 Pod 的 IP。路径遵循 YAML 结构:status,然后是 podIP。

列表使用方括号索引。第一个容器的镜像是:

kubectl get pod web -o jsonpath='{.spec.containers[0].image}'

对于对象列表,.items[*] 会选中每个项目,因此 kubectl get pods -o jsonpath='{.items[*].metadata.name}' 会在一行中打印所有 Pod 名称。

jsonpath 会准确输出你要求的内容,末尾不会添加换行符。需要换行时,请在花括号内添加 {"\n"}。

challenge icon

挑战

简单

创建一个名为 web 的 Pod,使用 nginx 镜像,然后使用 jsonpath 输出它的 IP 地址,再次使用 jsonpath 输出其第一个容器的镜像。

亲手试试

终端
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

Kubernetes 入门中的所有课

自己练习: Terminal 在线编辑器