What a hard thing for a youngster who's scared of needles. I know I was, and even as an adult, when I had to learn to give myself injections, I was still a weenie and let my husband do it for the first 2 years or so.
I agree that it's generally best just to be honest. His trust in you is so important, and you don't want him to get there and feel outrage or despair that you kept it secret.
Here's an "emotion" exercise you might try with him days before you tell him the dreadful truth. Some time he's relaxed and attentive, perhaps at bedtime, sit or lie beside him and ask him to think of the very happiest thing he's ever felt. Ask him to describe it to you in detail, and see if he can get into that feeling. "What does happy feel like inside – in your head, your tummy, your arms and legs?"
"Now, when you get feeling as HAPPY as possible, stop, take a breath and FEEL it. Take another breath and FEEL it. What do you notice? Your body is still in the same place. You are still breathing the same air. And whatever you are feeling will change pretty soon, to sleepy, sad, curious, perplexed, mad, or bored, right?
"That's what feelings do, they keep changing all the time. And can you choose what you'll feel next? Sometimes, yes. How do you do that? Think about times you've had that feeling."
If he connects well with happy, do the same exercise with sad, bored, mad, and/or scared. The more practice he gets with getting into an emotion, pausing to breathe, and then noticing that he's still the same guy living the same life and going through the same changes, the better. This is a useful tool for grownups, too, when we have to deal with difficult emotions.
Nest step: It's an often overlooked truth that we create much worse scenarios in our imaginations than real life usually presents us with, so tell him before you leave, in simple terms, that you'll be learning how to give him injections. When/if he starts into a tizzy, empathize whole-heartedly.
Don't tell him he should be brave – that doesn't make anybody brave, and it can leave them feeling emotionally unsupported. Tell him that "of course, you're scared. You don't like needles. It's OK to be scared, everybody's scared of some things. Talk/cry about it if you need to." (Don't try to stop his crying, just be there for him.)
"When you get all the way to the bottom of what "scared" feels like, take a breath. Feel it? Take another breath. Do you remember the feeling exercises we were doing? You're still here, huh? A boy feeling big feelings. Can you think of another feeling you'd like to have right now? Tell me about a time you felt that."
This may make a positive difference for him. I sure do wish you all the best.