Whatever you use, your prep work is the most important step. The best process is to sand blast if possible. If you bought the steel for your cargo rack new, then there's a good chance that it has a translucent coating on it. That's mill scale (FeO) and NOTHING will adhere to it. Mill scale is inherent in the manufacturing process for hot rolled steel. There are a few ways to remove it:
Mechanical - sand blasting or sanding. Don't sand unless you want a great shoulder workout, it will take you a while.
Chemical - Phosphoric Acid and/or Hydrochloric Acid. There is a high concentration of phosphoric acid in CLR (yea the As Seen On TV stuff). You have to give it some time to work. Since submerging your rack isn't possible, then you can put it in a plastic swimming pool and use a brush to keep the surface wet with it. Expect to spend a couple of hours doing it.
With all that said, prep on new hot rolled steel is a pain in the a$$, so I'd think that you may want to very seriously consider 60seriesguy's suggestion to powder coat. They will bead blast the part before their process. Even if it costs you $100, it is probably worth saving you the prep work. You will get far better adhesion from powercoating rather than any 1 component coating (aresol can).