discovery/kubernetes/node.go
func nodeAddress(node *apiv1.Node) (string, map[apiv1.NodeAddressType][]string, error) {
	m := map[apiv1.NodeAddressType][]string{}
	for _, a := range node.Status.Addresses {
		m[a.Type] = append(m[a.Type], a.Address)
	}

	if addresses, ok := m[apiv1.NodeInternalIP]; ok {
		return addresses[0], m, nil
	}
	if addresses, ok := m[apiv1.NodeExternalIP]; ok {
		return addresses[0], m, nil
	}
	if addresses, ok := m[apiv1.NodeAddressType(NodeLegacyHostIP)]; ok {
		return addresses[0], m, nil
	}
	if addresses, ok := m[apiv1.NodeHostName]; ok {
		return addresses[0], m, nil
	}
	return "", m, errors.New("host address unknown")
}
func nodeAddress(node *apiv1.Node) (string, map[apiv1.NodeAddressType][]string, error) {
	m := map[apiv1.NodeAddressType][]string{}
	for _, a := range node.Status.Addresses {
		m[a.Type] = append(m[a.Type], a.Address)
	}

	if addresses, ok := m[apiv1.NodeInternalIP]; ok {
		return addresses[0], m, nil
	}
	if addresses, ok := m[apiv1.NodeExternalIP]; ok {
		return addresses[0], m, nil
	}
	if addresses, ok := m[apiv1.NodeAddressType(NodeLegacyHostIP)]; ok {
		return addresses[0], m, nil
	}
	if addresses, ok := m[apiv1.NodeHostName]; ok {
		return addresses[0], m, nil
	}
	return "", m, errors.New("host address unknown")
}
func nodeAddress ( node * apiv1 . Node ) ( string , map [ apiv1 . NodeAddressType ] [ ] string , error ) { m := map [ apiv1 . NodeAddressType ] [ ] string { } for _ , a := range node . Status . Addresses { m [ a . Type ] = append ( m [ a . Type ] , a . Address ) } if addresses , ok := m [ apiv1 . NodeInternalIP ] ; ok { return addresses [ 0 ] , m , nil } if addresses , ok := m [ apiv1 . NodeExternalIP ] ; ok { return addresses [ 0 ] , m , nil } if addresses , ok := m [ apiv1 . NodeAddressType ( NodeLegacyHostIP ) ] ; ok { return addresses [ 0 ] , m , nil } if addresses , ok := m [ apiv1 . NodeHostName ] ; ok { return addresses [ 0 ] , m , nil } return " " , m , errors . New ( " " ) }
// nodeAddresses returns the provided node's address, based on the priority:
// 1. NodeInternalIP
// 2. NodeExternalIP
// 3. NodeLegacyHostIP
// 3. NodeHostName
//
// Derived from k8s.io/kubernetes/pkg/util/node/node.go
nodeAddresses returns the provided node s address based on the priority : 1 . NodeInternalIP 2 . NodeExternalIP 3 . NodeLegacyHostIP 3 . NodeHostName Derived from k8s . io / kubernetes / pkg / util / node / node . go