JSON이란
JSON 데이터는 객체 {} ,배열 [] 형태를 가진다.
쿠버네티스에서 필요한 정보만 걸러내어 확인할 수 있게 사용한다.
kubectl get <리소스> -o json
kubectl get pods -o jsonpath='{표현식}'
https://kubernetes.io/docs/reference/kubectl/jsonpath/
문법 요소
문법 | 뜻 |
$ | 루트노드, JSON Path의 모든 표현식은 이것으로 시작 |
@ | 현재노드 |
. | 하위노드 |
.. | 중첩된 전체 하위 요소들 |
[] | 배열 인덱스 |
* | 모든 요소와 매칭되는 와이들 카드 |
? (boolean expression) | 조건부 필터 표현식 |
json path 연습문제
1. Get all pod names
$[*].metadata.name
[
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "web-pod-1",
"namespace": "default"
},
"spec": {
"containers": [
{
"image": "nginx:alpine",
"name": "nginx"
}
],
"nodeName": "node01"
}
},
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "web-pod-2",
"namespace": "default"
},
"spec": {
"containers": [
{
"image": "nginx:alpine",
"name": "nginx"
}
],
"nodeName": "node02"
}
},
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "web-pod-3",
"namespace": "default"
},
"spec": {
"containers": [
{
"image": "nginx:alpine",
"name": "nginx"
}
],
"nodeName": "node01"
}
},
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "web-pod-4",
"namespace": "default"
},
"spec": {
"containers": [
{
"image": "nginx:alpine",
"name": "nginx"
}
],
"nodeName": "node01"
}
},
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "db-pod-1",
"namespace": "default"
},
"spec": {
"containers": [
{
"image": "mysql",
"name": "mysql"
}
],
"nodeName": "node01"
}
}
]
## 출력 결과
[
"web-pod-1",
"web-pod-2",
"web-pod-3",
"web-pod-4",
"db-pod-1"
]
2. Get container details
$.spec.containers[0]
{
"apiVersion": "v1",
"kind": "Pod",
"metadata": {
"name": "nginx-pod",
"namespace": "default"
},
"spec": {
"containers": [
{
"image": "nginx:alpine",
"name": "nginx"
}
],
"nodeName": "node01"
}
}
## 출력 결과
[
{
"image": "nginx:alpine",
"name": "nginx"
}
]
반응형
'공부 > CKA' 카테고리의 다른 글
[CKA] Udemy - Troubleshooting - control plane failure 문제풀이 (0) | 2023.05.29 |
---|---|
[CKA] Udemy - Troubleshooting - worker node failure 문제풀이 (0) | 2023.05.29 |
[CKA] 문제풀이 - Cluster Upgrade - only Master (0) | 2023.05.15 |
[CKA] 문제풀이 - 따배쿠 02. Pod 생성하기 (0) | 2023.05.12 |
[CKA] 문제풀이 - 따배쿠 01. ETCD Backup & Restore (0) | 2023.05.11 |