Bleach to sanitize, vinegar to descale the water heater.
1/4 cup of bleach per 15 gallons of water in the tank (If you have a 60 gallon tank then that would be 1 cup of bleach). Fill tank partially, add bleach, fill tank the rest of the way. With the pump on and disconnected from city water, run each faucet individually (both hot and cold) until you can smell the bleachy water and then shut it off. Best to do with the water heater in bypass since it doesn’t need to be sanitized and will save water and flushing time.
Take a drive to slosh the water in the tank around.
Let the bleachy water sit in the tank and the lines for a few hours.
Drain the tank. Refill with water. Run each faucet until you can’t smell bleach, if you still smell bleach then drain and fill again, then run water through the lines until the water runs clean.
That’s how I do it, anyway.
2017 GMC Canyon – CCLB, 4×4, 2.8L Duramax, ARE Z-series shell
2013 Shamrock 21SS