JSON Path란
JSONPath는 JSON 포맷의 데이터 구조를 손쉽게 처리할 수 있도록 고안된 표현식이다.
쿠버네티스 리소스를 조회하려고 할때 원하고자 하는 형태로 컨솔창에 출력하고 싶을 경우 사용할 수 있다.
JSON Path
Function | Description | Example | Result |
text | 일반 텍스트 | kind is {.kind} | kind is List |
@ | 현재 오브젝트 | {@} | 입력과 동일 |
. or [] | 자식 오퍼레이터 | {.kind}, {['kind']} or {['name\.type']} | List |
.. | 재귀 하향(recursive descent) | {..name} | 127.0.0.1 127.0.0.2 myself e2e |
* | 와일드 카드. 모든 오브젝트 가져오기 | {.items[*].metadata.name} | [127.0.0.1 127.0.0.2] |
[start:end:step] | 아래 첨자 오퍼레이터 | {.users[0].name} | myself |
[,] | 조합 오퍼레이터 | {.items[*]['metadata.name', 'status.capacity']} | 127.0.0.1 127.0.0.2 map[cpu:4] map[cpu:8] |
?() | 필터 | {.users[?(@.name=="e2e")].user.password} | secret |
range, end | 반복 목록 | {range .items[*]}[{.metadata.name}, {.status.capacity}] {end} | [127.0.0.1, map[cpu:4]] [127.0.0.2, map[cpu:8]] |
'' | 해석된 문자열 인용 | {range .items[*]}{.metadata.name}{'\t'}{end} | 127.0.0.1 127.0.0.2 |
#응답을 JSON으로 변환 (기본 문법 : kubectl get <리소스> -o json)
kubectl get pods -o json
# 응답 내용 ~(기본 문법 : kubectl get <리소스> -o jsonpath='{표현식}')
# 각 파드들을 구성한 이미지 정보만 조회
kubectl get pods -o=jsonpath='{.items[0].spec.container[0].image}'
'STUDY > Data Engineering' 카테고리의 다른 글
[인프런] 왕초보도 따라하는 도커 기초 (1) (0) | 2023.03.30 |
---|---|
[인프런] 쿠버네티스 (도커와 쿠버네티스 시작하기) (0) | 2023.03.22 |
18. CKA udemy 강의 정리 - Section 13 [Troubleshooting] (0) | 2023.01.31 |
17. CKA udemy 강의 정리 - Section 10 [Desing and install a Kubernetes Cluster] (0) | 2023.01.28 |
16. CKA udemy 강의 정리 - Section 9 [Networking] (0) | 2023.01.25 |