平台适配
- 使用集群调度组件提供的MindCluster Volcano或者开源MindCluster Volcano(已经集成Ascend-volcano-plugin插件),可跳过该步骤。
- 不使用上述MindCluster Volcano,且想要获取Pod的Status是否为Failed状态做其它业务逻辑处理,可以通过K8s客户端获取任务Pod的状态信息,代码示例如下。
import v1 "k8s.io/api/core/v1" // GetPod get pod by namespace and name func (ki *ClientK8s) GetPod(pod *v1.Pod) (*v1.Pod, error) { return ki.Clientset.CoreV1().Pods(pod.Namespace).Get(context.Background(), pod.Name, metav1.GetOptions{ ResourceVersion: "0", }) } func getTaskHealthStateByPod(task *api.TaskInfo) (bool, string) { if pod.Status.Phase == v1.PodFailed { return true, PodFailed } return false, PodHealthy }
父主题: 业务面故障