我正在我的EKS集群中运行一个批处理作业,它训练一个ML模型,培训持续8-10小时。但是,似乎运行作业的节点被杀死,作业在新节点上重新启动。我正在监测普罗米修斯的节点,似乎没有CPU或OOM问题。
我的下一个赌注是查看EKS云轨迹日志,当节点被移除时,我会看到下面的事件-
controller_utils.go:179] Recording status change NodeNotReady event message for node XXX
controller_utils.go:121] Update ready status of pods on node [XXX]
event.go:274] Event(v1.ObjectReference{Kind:"Node", Namespace:"", Name:"XXX", UID:"1bf33ec8-41cd-434a-8579-3ba4b8cdd5f1", APIVersion:"", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'NodeNotReady' Node XXX status is now: NodeNotReady
node_lifecycle_controller.go:917] Node XXX is unresponsive as of 2021-06-09 01:00:48.962450508 +0000 UTC m=+5151508.967069635. Adding it to the Taint queue.
I0609 01:00:48.962465 1 node_lifecycle_controller.go:917] Node XXX is unresponsive as of 2021-06-09 01:00:48.962450508 +0000 UTC m=+5151508.967069635. Adding it to the Taint queue.
node_lifecycle_controller.go:180] deleting node since it is no longer present in cloud provider: XXXnode_tree.go:113] Removed node "XXX" in group "us-east-2:\x00:us-east-2b" from NodeTree我检查了kubelet日志,但是它没有任何消息将节点移动到NotReady状态。我希望至少能在kubelet日志- https://github.com/kubernetes/kubernetes/blob/e9de1b0221dd8687aba527e682fafc7c33370c09/pkg/kubelet/kubelet_node_status.go#L682中看到这条消息。
这让我想知道kubelet是死了,还是节点无法到达,或者kubelet服务器到kubelet的连接在该节点上丢失了。
我花了好几天的时间来调试这个问题,但是没有成功。
注意:在Kubernetes中运行的批处理作业最终在重启时成功运行。此外,此问题是零星的,即有时重新启动发生,有时不重新启动,并在第一次运行时结束。
发布于 2021-08-04 16:36:36
您正在使用spot实例节点吗?这可能是基于现货/出价价格变化而终止节点的原因之一。尝试专用实例。
https://stackoverflow.com/questions/67914767
复制相似问题