ACS集群提供了对GPU Pod的故障监控能力,当GPU Pod底层硬件出现故障时,会通过Kubernetes事件(Event)、状态(Condition)等方式上报。本文介绍GPU Pod的故障信息获取方式以及您需要执行的恢复操作。
故障处理流程
ACS会持续对GPU Pod使用的硬件资源进行健康检查,当GPU Pod发生硬件故障时,建议您遵循以下流程进行处理:
-
ACS会通过GPU Pod的事件(Event)、状态(Condition)上报故障原因。
-
删除故障Pod
您需要主动监控ACS发出的故障通知,并在确认业务暂停后尽快驱逐受影响的Pod。
-
重建业务Pod
您需手动或通过工作负载控制器(如Deployment、Job)重建新的Pod。建议搭配acs-instance-helper使用,详见配置硬件异常实例自动轮转。
-
业务恢复
ACS将确保新建的Pod自动被调度到健康的节点上,从而恢复服务。
故障通知
-
建议您在收到故障信息后,将故障的Pod尽快驱逐重建。ACS将确保重建的GPU Pod正常运行。
-
建议您搭配kube-eventer配置告警条件以便及时处理,详见kube-eventer。
-
建议您搭配acs-instance-helper使用,实现异常Pod的自动清理,详见配置硬件异常实例自动轮转。
对于故障的GPU Pod,ACS将以Pod Event和Condition等形式提供故障信息,具体如下:
Pod Event
受影响的故障Pod会收到Warning事件。
reason: NodeBroken
type: Warning
message: 'The pod is proposed to be evicted at 2025-08-15 03:06:12 +0000 UTC, reason: xxx'
Event中各字段的说明如下:
|
字段 |
说明 |
|
|
固定值,为 |
|
|
故障类型。包括以下两种:
|
|
|
记录了自愈进度的详细信息。 |
Pod Condition
acs-virtual-node组件的版本需要为v2.16.0及以上。您可以在ACS集群管理页的左侧导航栏选择组件管理,在核心组件页签下查看ACK Virtual Node组件的版本,或者进行升级操作。
在故障Pod的conditions(Interruption.HardwareFault类型)中记录详细的故障信息。
status:
conditions:
- lastProbeTime: null
lastTransitionTime: "2025-08-15T03:06:12Z"
message: 'The pod is proposed to be evicted at 2025-08-15 03:06:12 +0000 UTC, reason: hardware or software fault occurred on node. Please evict the pod manually.'
reason: NodeBroken
status: "True"
type: Interruption.HardwareFault
conditions中各字段的说明如下:
|
字段 |
说明 |
更新时机 |
|
|
|
固定值,Pod生命周期内不会变化。 |
|
|
当前是否有故障。
|
GPU Pod故障状态发生变化时更新。 |
|
|
故障类型。包括以下两种:
|
GPU Pod故障状态发生变化时更新。 |
|
|
记录了故障的详细信息。 |
GPU Pod故障状态发生变化时更新。 |
|
|
故障状态发生变化的时间点。 |
GPU Pod故障状态发生变化时更新。 |
|
|
|
固定值,Pod生命周期内不会变化。 |
若您的GPU Pod在运行时出现异常,但未收到ACS上报的故障通知,请您提交工单处理。