使用 jq 从 k8s api json 获取 pod 创建状态
get pod creation status from k8s api json using jq
我正在尝试在下面使用 jq 来获取我的 pod“my pod”的状态:
curl '127.0.0.1:8080/api/v1/pods' | jq -r '.items[] | select(.metadata.name)'
这给了我很多 json,更具体地说,你如何从 k8s api 中读取 json - 以获取 pod 的状态 - 运行 或不是吗?
如果我在 pod 中获取项目:
curl '127.0.0.1:8080/api/v1/pods' | jq -r 'select(.items[].metadata.name="go-test-volume1").items[]
果然我得到了一个列表,但是选择哪一个 - 所有列表中都有一个 status.phase?
在CrashLoopBackOff状态的情况下:
curl '127.0.0.1:8080/api/v1/pods' |
jq -r '.items[] | select(.metadata.name == "my-pod").status.phase'
会显示为运行吗?
这就是您所需要的:
curl '127.0.0.1:8080/api/v1/pods' |
jq -r '.items[] | select(.metadata.name == "my-pod").status.phase'
这将为您提供正确的状态:
curl '127.0.0.1:8080/api/v1/pods' |
jq -r '.items[] | select(.metadata.name == "my-pod).status.containerStatuses[0].state'
我正在尝试在下面使用 jq 来获取我的 pod“my pod”的状态:
curl '127.0.0.1:8080/api/v1/pods' | jq -r '.items[] | select(.metadata.name)'
这给了我很多 json,更具体地说,你如何从 k8s api 中读取 json - 以获取 pod 的状态 - 运行 或不是吗?
如果我在 pod 中获取项目:
curl '127.0.0.1:8080/api/v1/pods' | jq -r 'select(.items[].metadata.name="go-test-volume1").items[]
果然我得到了一个列表,但是选择哪一个 - 所有列表中都有一个 status.phase?
在CrashLoopBackOff状态的情况下:
curl '127.0.0.1:8080/api/v1/pods' |
jq -r '.items[] | select(.metadata.name == "my-pod").status.phase'
会显示为运行吗?
这就是您所需要的:
curl '127.0.0.1:8080/api/v1/pods' |
jq -r '.items[] | select(.metadata.name == "my-pod").status.phase'
这将为您提供正确的状态:
curl '127.0.0.1:8080/api/v1/pods' |
jq -r '.items[] | select(.metadata.name == "my-pod).status.containerStatuses[0].state'