我们在1.9.6-gke.1上使用Google Kubernetes引擎,并且有一个带有几个节点池的集群,我们为这些节点池启用了自动伸缩,因为其中的节点包含附加的GPU (p100s)。
有时我们通过Kubernetes Pod在由于触发的自动伸缩事件而启动的节点上通宵运行作业,许多小时后返回时发现pod已经消失,因为pod已经终止,处于某种未知状态,并且由于10分钟内没有其他pod调度到该节点,因此运行该pod的节点已被耗尽并移除。
也就是说,一旦节点消失,pod就会从Kubernetes日志和控制平面ie.running的角度消失,比如kubectl get pods和kubectl describe pod。我们希望能够了解这些pods在终止时的状态,例如。“已完成,错误,OOM”。有没有办法将这个pod生命周期信息记录在Google Cloud平台上,也许是通过Stackdriver或其他?如果它已经可用,我们将在哪里找到它?
请注意,这适用于运行pod的节点不再位于群集中的pod。
提前感谢!
发布于 2018-06-20 01:42:57
Stackdriver日志中有两个日志,您可以查看GKE日志。第一个称为"GKE集群操作“,第二个称为”容器日志“。
"GKE集群操作“日志将显示集群内发生的所有操作,如pod创建、容器创建等。
“容器日志”将记录容器的操作。我使用给定here的yaml文件创建了一个简单的作业。运行作业后,我进入“容器日志”,它成功地显示了容器的输出。
在这种情况下,您应该能够从GCP中的"GKE集群操作“日志中看到pod状态的日志。
https://stackoverflow.com/questions/50476017
复制相似问题