0

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

4

1 回答 1

0

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

然后按最近的 lastTimestamp 对事件进行排序。最新事件的原因、消息和源字段应该给你一个关于正在发生的事情的提示。

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

如果您只需要调试当前的问题,那么这样做可能会更快kubectl describe pod podName,它还会显示 pod 的最近事件。

于 2015-11-03T23:16:18.447 回答