The centre back has signed a two-year contract, with an option of an extra year. City have paid the League One side £200,000 for the player, and the deal includes a sell-on clause.
He trained with his new teammates today, and is set to make his debut in tomorrow's game against Sunderland at the KC Stadium.