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"}。
挑战
简单创建一个名为 web 的 Pod,使用 nginx 镜像,然后使用 jsonpath 输出它的 IP 地址,再次使用 jsonpath 输出其第一个容器的镜像。
亲手试试
终端
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
Kubernetes 入门中的所有课
自己练习: Terminal 在线编辑器