我正在使用Stackdriver Monitoring API来获取与容器相关的指标。从API返回的JSON对象具有以下容器详细信息。
示例:
{
"metric": {
"type": "container.googleapis.com/container/cpu/utilization"
},
"resource": {
"type": "gke_container",
"labels": {
"zone": "us-central1-a",
"pod_id": "1138528c-c36e-11e9-a1a7-42010a800198",
"project_id": "auto-scaling-springboot",
"cluster_name": "load-test",
"container_name": "",
"namespace_id": "f0965889-c36d-11e9-9e00-42010a800198",
"instance_id": "3962380509873542383"
}
},
"metricKind": "GAUGE",
"valueType": "DOUBLE",
"points": [
{
"interval": {
"startTime": "2019-09-04T04:00:00Z",
"endTime": "2019-09-04T04:00:00Z"
},
"value": {
"doubleValue": 0.050707947222229495
}
}
]
}
当我执行kubectl describe pod [pod name]
时,我没有得到容器独有的这些信息。因此,我无法识别与容器相对应的结果。
因此,我如何获取吊舱ID,以便能够识别它?
答案 0 :(得分:8)
您可以使用kubectl get pods
命令获取pod的uid。
$ kubectl get pods -n namespace-name pod-name -o yaml | grep uid
uid: bcfbdfb5-ce0f-11e9-b83e-080027d4916d
答案 1 :(得分:5)
(可选)您可以尝试以下操作:
$ kubectl get pod -n <namespace> <pod_name> -o jsonpath='{.metadata.uid}'