The right-hander could earn another $550,000 in bonuses. The contract includes a $100,000 bonus for 55 innings pitched and incentives for games finished; $50,000 each for 15 and 20 games; $75,000 for 25 and 30 games; and $100,000 each for 35 and 40 games.
Rodriguez, 32, has 304 saves in 12 seasons with the Angels, Mets, Brewers and Orioles. Milwaukee signed Rodriguez as a free agent last spring before trading him to Baltimore in late July in a deal for minor leaguer Nick Delmonico.
In 2008, Rodriguez set a major league record with 62 saves for the Angels. He's a four-time All-Star with three finishes in the top five in Cy Young Award balloting.
Rodriguez brings depth and another veteran arm to a Milwaukee bullpen headed by Jim Henderson, who recorded 28 saves and struck out 75 batters in 60 innings as a 30-year-old rookie last season.
Information from The Associated Press was used in this report.