Former Astros slugger Lance Berkman has agreed to a one-year, $11-million deal with the Texas Rangers, Fox Sports' Ken Rosenthal reported Saturday.