Exemple #1
0
func (this *PodService) PodByName(name string, data k8s_format.Pod) Pod_format {

	var _pod Pod_format
	// _metadata_name_arr := strings.Split(data.Metadata.Name, "-")
	// _metadata_name := strings.Join(_metadata_name_arr[:len(_metadata_name_arr)-1], "-")
	// if _metadata_name == "kube-dns-v3" {
	// 	return _pod
	// }
	_pod.Label = data.Metadata.Labels

	_pod.Container_name = data.Metadata.Name
	_service_name_arr := strings.Split(data.Metadata.GenerateName, "-")
	_service_name := strings.Join(_service_name_arr[:len(_service_name_arr)-1], "-")
	_pod.Service_name = _service_name

	var herd_service herd_format.Data
	herd_service.Containers = append(herd_service.Containers, data.Metadata.Name)

	var getHerd herdModel.GetHerdModel
	getHerd_data := getHerd.PostData(herd_service)
	if len(getHerd_data.Containers) > 0 {
		_herd_container := getHerd_data.Containers[0]
		_pod.Cpu = _herd_container.Cpu
		_pod.Mem = _herd_container.Mem
	} else {
		_pod.Cpu = 0
		_pod.Mem = 0
	}

	_pod.Ports.Phase = data.Status.Phase
	_pod.Ports.Public_ip = data.Status.PodIP
	_pod.Ports.Host_ip = data.Status.HostIP
	// Test(data.Status.PodIP)

	// if data.Status.PodIP != nil {
	// 	_pod.Status.Public_ip = data.Status.PodIP
	// }
	// if data.Status.HostIP != nil {
	// 	_pod.Status.Host_ip = "2"
	// }

	var _container Container
	for _, _spec_container := range data.Spec.Containers {
		_container.Name = _spec_container.Name
		_container.Image = _spec_container.Image
	}
	_pod.Containers = append(_pod.Containers, _container)
	return _pod
}