Predators general manager David Poile announced the deal Monday.
The 22-year-old Ingram posted a 21-5-5 record for the AHL’s Milwaukee Admirals in the 2019-20 season. He ranked third among AHL goaltenders in save percentage and goals-against average and he tied for third in wins.
The contract is worth $700,000 at the NHL level in 2020-21 and $750,000 each of the following two seasons.
Ingram was a third-round pick by Tampa Bay in the 2016 NHL draft. He played for Canada in the 2017 World Junior Championship.