code: func (cm *containerManagerImpl) GetNodeAllocatableReservation() v1.ResourceList {
  	evictionReservation := hardEvictionReservation(cm.HardEvictionThresholds, cm.capacity)
  	result := make(v1.ResourceList)
  	for k := range cm.capacity {
  		value := resource.NewQuantity(0, resource.DecimalSI)
  		if cm.NodeConfig.SystemReserved != nil {
  			value.Add(cm.NodeConfig.SystemReserved[k])
  		}
  		if cm.NodeConfig.KubeReserved != nil {
  			value.Add(cm.NodeConfig.KubeReserved[k])
  		}
  		if evictionReservation != nil {
  			value.Add(evictionReservation[k])
  		}
  		if !value.IsZero() {
  			result[k] = *value
  		}
  	}
  	return result
  }
docs: // GetNodeAllocatableReservation returns amount of compute or storage resource that have to be reserved on this node from scheduling.