Rukavina begon in 2002 als achttienjarige speler zijn professionele carrière bij het Servische FK Bežanija , waar doorstroomde vanuit de jeugd. De Servische club speelde toentertijd in de derde divisie. Rukavina werd dat jaar (seizoen 2002/03) met Bežanija kampioen van de Servische 3e klasse en promoveerde naar de Servische 2e klasse. Na drie jaar te hebben gespeeld op het tweede niveau, werd FK Bežanija wederom kampioen te worden en was promotie naar de hoogste divisie in Servië een feit. Na een half seizoen gespeeld te hebben op het hoogste niveau in Servië, nam Partizan Belgrado de Rukavina tijdens de winterstop van seizoen 2006/07 over.
Door zijn prestaties in zijn periode bij Partizan en tijdens het Jeugd EK in 2007, werd Rukavina Servisch A-international. Hij werd in de winterstop van het seizoen 2007/08 voor 2.5 miljoen euro overgenomen door Borussia Dortmund. Doordat zijn prestaties niet constant genoeg waren en hij te veel concurrentie had voor zijn positie, werd hij tijdens de winterstop van seizoen 2008/09 uitgeleend aan 1860 München. Dat nam hem in 2009 vervolgens definitief over.
In juni 2007 maakte Rukavina zijn debuut in het Servische national elftal. Tijdens de kwalificatie voor het EK 2008 kwam hij tegen Finland als invaller in het veld. Rukavina maakte deel uit van de Servische selectie die onder leiding van bondscoach Mladen Krstajić deelnam aan de WK-eindronde 2018 in Rusland. Daar sneuvelde de ploeg in de voorronde na een overwinning op Costa Rica (1–0) en nederlagen tegen achtereenvolgens Zwitserland (1–2) en Brazilië (0–2). Rukavina kwam in twee van de drie WK-duels in actie voor zijn vaderland.