You either need to create a ground plane under the antenna, or you need to use a "ground independent" antenna.
Many types of antennas require a ground plane underneath for them to radiate properly and tune up right. You can create this under the tonneau cover by placing something electrically conductive under the antenna. A piece of sheet metal will work, so would aluminum foil (if you can protect it from getting damaged).
The other option is to use a half wave antenna, or one specifically designed to work without a ground plane. Half wave antennas will work without the ground, and you can find ones specifically designed with flat mounts that can be bolted down through the fiberglass cover.
The other issue you need to consider is the proximity to the truck cab. Getting the antenna too close to the cab will create its own issues. Placing the antenna farther back from the cab will help reduce this. Also, consider the clearance of the antenna when the cover is opened.
I've got a Polaris Ranger UTV with a VHF radio mounted in it. It has a hard plastic roof. I mounted a 1/4 wave VHF antenna on it, and a piece of sheet metal underneath to act as the ground plane. It tuned up fine on the two meter band and works well.
Half wave antennas are going to be about 45 inches tall. This might be a good choice since it will get the antenna above the cab line. A 5/8ths wave antenna would work if you build the ground plane underneath it, and they are about 49 inches tall.
I think other have done this by mounting the antenna to a bracket coming off the bed rail, under the tonneau cover. My only concern with that is that it would make the antenna pattern slightly directional, but likely not something you'd notice.