Free agent left-hander Ryan Yarbrough signed a one-year contract with the Royals on Tuesday after spending the past five seasons with Tampa Bay.