code: func nodeAddressForLB(node *v1.Node) (string, error) {
  	addrs := node.Status.Addresses
  	if len(addrs) == 0 {
  		return "", ErrNoAddressFound
  	}
  
  	allowedAddrTypes := []v1.NodeAddressType{v1.NodeInternalIP, v1.NodeExternalIP}
  
  	for _, allowedAddrType := range allowedAddrTypes {
  		for _, addr := range addrs {
  			if addr.Type == allowedAddrType {
  				return addr.Address, nil
  			}
  		}
  	}
  
  	return "", ErrNoAddressFound
  }
docs: // The LB needs to be configured with instance addresses on the same
  // subnet as the LB (aka opts.SubnetID).  Currently we're just
  // guessing that the node's InternalIP is the right address.
  // In case no InternalIP can be found, ExternalIP is tried.
  // If neither InternalIP nor ExternalIP can be found an error is
  // returned.