Catcher Dustin Garneau agreed to a one-year contract with the Houston Astros, with whom he figures to compete for a backup role.