我正在使用用于kubernetes的fabric8.io java客户端来创建和管理容器。虽然创建pod时我得到以下状态
{
"kind": "Pod",
"apiVersion": "v1",
"metadata": {
"name": "podName",
"generateName": "podName-",
"namespace": "podNameSpace",
"selfLink": "",
"uid": "d3d07626-825f-11e5-96f2-005056976c6f",
"resourceVersion": "3158514",
"creationTimestamp": "2015-11-03T19:19:39Z",
"labels": {
"name": ""
},
"annotations": {
""
}
},
"spec": {
"containers": [
{
"name": "",
"image": "",
"resources": {},
"terminationMessagePath": "/dev/termination-log",
"imagePullPolicy": "IfNotPresent"
}
],
"restartPolicy": "Always",
"dnsPolicy": "ClusterFirst"
},
"status": {
"phase": "Pending"
}
当我尝试使用curl -X GET masterUrl/namespaces/namespace/pods/podName
读取此pod的日志时,它不会返回任何内容。如何查看日志以查看状态未决的原因?
答案 0 :(得分:0)
您可以从/ api / v1 / events中获取事件,并使用与Pod匹配的relatedObject(例如,相同的uid)过滤该列表中的项目。
然后按最近的lastTimestamp对事件进行排序。最新事件的原因,消息和来源字段应该为您提供有关正在发生的事情的提示。
如果我需要从Java客户端执行此操作,它就是这样做的。
如果您只需要调试当前问题,可以更快地执行kubectl describe pod podName
,这也会显示该广告连播的最近事件。