【问题标题】:How to persist pod lifecycle states and events in Google Kubernetes Engine?如何在 Google Kubernetes Engine 中持久化 pod 生命周期状态和事件?
【发布时间】:2018-11-01 17:08:15
【问题描述】:

我们在 1.9.6-gke.1 上使用 Google Kubernetes Engine,并且有一个包含多个节点池的集群,我们为其启用自动缩放,因为其中的节点包含附加的 GPU (p100)。

有时我们通过 Kubernetes Pod 在一个节点上运行作业,该节点由于触发的自动缩放事件而启动,并且在许多小时后返回发现该 pod 已消失,因为该 pod 已终止,处于某种未知状态,并且由于 10 分钟内没有其他 Pod 调度到该节点,因此它运行的节点已被排空并移除。

也就是说,一旦节点消失,从 Kubernetes 日志和控制平面的角度来看,pod 就会消失,即运行 kubectl get podskubectl describe pod 之类的东西。我们希望能够在终止时知道这些 pod 的状态,例如。 '完成,错误,OOM'。有没有办法让这个 pod 生命周期信息记录在谷歌云平台中,也许是通过 Stackdriver 或其他?如果它已经可用,我们在哪里可以找到它?

请注意,这是针对运行 pod 的节点不再在集群中的 pod。

提前致谢!

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    Stackdriver Logging 中有两个日志可供您查看 GKE 日志。第一个称为“GKE 集群操作”,第二个称为“容器日志”。

    “GKE 集群操作”日志将显示集群内发生的所有操作,例如 pod 创建、容器创建等...

    “容器日志”将记录容器的操作。我使用给定 here 的 yaml 文件创建了一个简单的作业。运行作业后,我进入“容器日志”,它成功显示了容器的输出。

    在这种情况下,您应该可以从 GCP 中的“GKE 集群操作”日志中看到 pod 状态的日志。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-31
      • 1970-01-01
      • 2021-09-21
      • 2011-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多