昇腾社区首页
中文
注册

平台适配

  • 使用集群调度组件提供的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
    }