kubernetes pod创建待定

时间:2015-11-03 19:41:04

标签: logging kubernetes kubernetes-pod

我正在使用用于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的日志时,它不会返回任何内容。如何查看日志以查看状态未决的原因?

1 个答案:

答案 0 :(得分:0)

您可以从/ api / v1 / events中获取事件,并使用与Pod匹配的relatedObject(例如,相同的uid)过滤该列表中的项目。

然后按最近的lastTimestamp对事件进行排序。最新事件的原因,消息和来源字段应该为您提供有关正在发生的事情的提示。

如果我需要从Java客户端执行此操作,它就是这样做的。

如果您只需要调试当前问题,可以更快地执行kubectl describe pod podName,这也会显示该广告连播的最近事件。