func NewPodFromRuntime(obj interface{}, config CtorConfig) K8sResource {
	p := &Pod{}
	p.FromRuntime(obj, config)
	return p
}
NewPodFromRuntime builds a pod from informer result
package k8sresources
import (
	"fmt"
	"strings"
	"kubectlfzf/pkg/util"
	"github.com/golang/glog"
	corev1 "k8s.io/api/core/v1"
)
const PodHeader = "Cluster Namespace Name PodIp HostIp NodeName Phase QOSClass Containers Tolerations Claims Age Labels FieldSelectors\n"
type Pod struct {
	ResourceMeta
	hostIP         string
	podIP          string
	nodeName       string
	tolerations    []string
	containers     []string
	claims         []string
	phase          string
	fieldSelectors string
	qosClass       string
	resource       string
}
func getPhase(p *corev1.Pod) string {
	for _, v := range p.Status.InitContainerStatuses {
		if v.State.Waiting != nil && v.State.Waiting.Reason != "" {
			return fmt.Sprintf("Init:%s", v.State.Waiting.Reason)
		}
		if v.State.Terminated != nil && v.State.Terminated.Reason != "Completed" {
			return fmt.Sprintf("Init:%s", v.State.Terminated.Reason)
		}
	}
	for _, v := range p.Status.ContainerStatuses {
		if v.State.Waiting != nil && v.State.Waiting.Reason != "" {
			return v.State.Waiting.Reason
		}
		if v.State.Terminated != nil && v.State.Terminated.Reason != "Completed" {
			return v.State.Terminated.Reason
		}
	}
	for _, v := range p.Status.Conditions {
		if v.Status != "True" && v.Reason != "" {
			return v.Reason
		}
	}
	if p.Status.Reason != "" {
		return p.Status.Reason
	}
	return string(p.Status.Phase)
}