The Mariners and outfielder Jesse Winker agreed to a two-year contract through the 2023 season on Thursday to avoid arbitration.