kubernetes - kubectl JSONPath 사용 예제
대충 이렇게...
1. 원하는 속성 값 위치(?)를 확인하고..
$ kubectl get secrets -n my-ns -o json
{
"apiVersion": "v1",
"items": [
{
"apiVersion": "v1",
"data": {
"ca.crt": “...",
"namespace": "YXZvbi13cw==",
"token": “ZXlKaGJHY2lPaUpTV..."
},
"kind": "Secret",
"metadata": {...
},
"type": "kubernetes.io/service-account-token"
},
{
"apiVersion": "v1",
"data": {
"myconf": “<<<<< 여기 >>>>>"
},
"kind": "Secret",
"metadata": {
"annotations": {
..."
},
"creationTimestamp": "...
},
"type": "Opaque"
}
],
....
}
2. JSONPath로 원하는 값을 가져와본다.
$ kubectl get secrets -n my-ns -o jsonpath='{range .items[*]}{.data.myconf}'
eyJkZX….
$ kubectl get secrets -n my-ns -o jsonpath='{range .items[*]}{.data.myconf}' | base64 --decode
{"desc":"example","myApp":{"redisAddr":"my-redis.redis-ns.svc.cluster.local:6379",...}
[참고]
kubernetes.io/ko/docs/reference/kubectl/cheatsheet/
https://kubernetes.io/docs/reference/kubectl/jsonpath/