code: func ChooseAPIServerBindAddress(bindAddress net.IP) (net.IP, error) {
  	ip, err := netutil.ChooseBindAddress(bindAddress)
  	if err != nil {
  		if netutil.IsNoRoutesError(err) {
  			klog.Warningf("WARNING: could not obtain a bind address for the API Server: %v; using: %s", err, constants.DefaultAPIServerBindAddress)
  			defaultIP := net.ParseIP(constants.DefaultAPIServerBindAddress)
  			if defaultIP == nil {
  				return nil, errors.Errorf("cannot parse default IP address: %s", constants.DefaultAPIServerBindAddress)
  			}
  			return defaultIP, nil
  		}
  		return nil, err
  	}
  	if bindAddress != nil && !bindAddress.IsUnspecified() && !reflect.DeepEqual(ip, bindAddress) {
  		klog.Warningf("WARNING: overriding requested API server bind address: requested %q, actual %q", bindAddress, ip)
  	}
  	return ip, nil
  }
docs: // ChooseAPIServerBindAddress is a wrapper for netutil.ChooseBindAddress that also handles
  // the case where no default routes were found and an IP for the API server could not be obatained.