code: func (gce *Cloud) CreateRoute(clusterName string, nameHint string, route *cloudprovider.Route) error {
  	routeName := truncateClusterName(clusterName) + "-" + nameHint
  
  	instanceName := mapNodeNameToInstanceName(route.TargetNode)
  	targetInstance, err := gce.getInstanceByName(instanceName)
  	if err != nil {
  		return err
  	}
  	insertOp, err := gce.service.Routes.Insert(gce.projectID, &compute.Route{
  		Name:            routeName,
  		DestRange:       route.DestinationCIDR,
  		NextHopInstance: fmt.Sprintf("zones/%s/instances/%s", targetInstance.Zone, targetInstance.Name),
  		Network:         gce.networkURL,
  		Priority:        1000,
  		Description:     k8sNodeRouteTag,
  	}).Do()
  	if err != nil {
  		if isHTTPErrorCode(err, http.StatusConflict) {
  			glog.Infof("Route %v already exists.", routeName)
  			return nil
  		}
  		return err
  	}
  	return gce.waitForGlobalOp(insertOp)
  }
docs: // CreateRoute creates a route