こんにちは (Konnichiwa) JohnB232,
The short answer is no. Depending on the JLPT level, you don't need to know all of the readings. You only need to learn the readings used in the vocab for that level.
JLPT will never test on kanji out of context. It will always ask you to give the reading for a certain kanji as part of a word: and this will always be a word that's part of the vocab for that level.
For example, despite the fact that there are 16 different readings for 上, at an N5 level, you would only be required to know 5 to read all of the N5 vocab that use this kanji:
上る (noboru) - required reading: のぼ (nobo)
上げる (ageru) required reading: あ (a)
上手 (jōzu) required reading: ジョウ (jō)
上 (ue) required reading: うえ (ue)
上着 (uwagi) required reading: うわ (uwa)
However, instead of making a flashcard with 上 on one side and these 5 readings on the other side, I would recommend writing the kanji as part of a word one one side, and the reading for that word on the other. For example, 上げる on one side and (あげる) “to raise” on the other side.
Remembering all the readings for kanji is a real challenge out of context, but by writing the kanji in a word like this, it can really help!
You can also tackle the kanji and vocab you need for that level at the same time - which is a bonus!
Note that you will ONLY be tested on the kanji for that level of JLPT. For example, at an N5 level, you would only need to be able to read the 上 (jō) in 上手 (jōzu), and not the 手 (zu), since 手 (zu) is an N4 kanji.
Because of this, you may get test questions that look something like this:
サッカー が 上ず です。 (Sakkā ga jōzu desu.)
See how only the 上 is written in kanji?
I hope this helped! Please let me know if you need any more explanation.
べんきょう を がんばって ください！ (Benkyō o ganbatte kudasai!)