Karnilenka karierę rozpoczynał w białoruskim klubie pierwszoligowym Lakamatyu-96 Witebsk. Na początku sezonu 2002 przeszedł do stołecznego Dynama. W pierwszym roku gry dla tego klubu zagrał 15 meczów ligowych, strzelił 5 goli. Sezon 2003 był znacznie bardziej udany - klub zajął 3. miejsce w lidze, zdobył Puchar Białorusi, a sam Karnilenka zagrał w 30 meczach, zdobywając 18 bramek. Wysoką formą zwrócił uwagę działaczy Dynama Kijów i na początku rundy wiosennej sezonu 2003-04 na Ukrainie stał się zawodnikiem drużyny z Kijowa. Nie przebił się jednak do pierwszej jedenastki drużyny prowadzonej przez Ołeksija Mychajłyczenkę, zagrał w 9 spotkaniach, strzelając 2 gole. Z kijowskim Dynamem zdobył jednak mistrzostwo Ukrainy 2004. Następny sezon należy zaliczyć do nieudanych - Karnilenka nie zagrał ani jednego spotkania w pierwszej drużynie Dynama, a zimą został oddany do Dnipra Dniepropetrowsk. W klubie tym od początku pełnił kluczową rolę. W rundzie wiosennej sezonu 2005 zagrał dla Dnipra 14 razy, zdobywając 7 goli. Kolejny sezon to 27 spotkań w Wyszczej Liże i 5 bramek, klub jednak nie zdołał zakwalifikować się do Pucharu UEFA. W sezonie 2006-07 Dnipro zajęło 4. miejsce w lidze, premiujące udziałem w rozgrywkach Pucharu UEFA, a Karnilenka w 26 meczach zdobył 10 goli, stając się najskuteczniejszym piłkarzem Dnipra. W 2008 został zawodnikiem Tomi Tomsk. Latem 2009 przeszedł za 2 mln dolarów do Zenitu Petersburg. Na początku 2010 powrócił ponownie do Tomi ale już na zasadach wypożyczenia[1]. W połowie 2010 roku wypożyczono go do Rubinu Kazań. 31 stycznia 2011 roku dołączył na zasadzie wypożyczenia do Blackpool[2]. W czerwcu 2011 roku podpisał kontrakt z Krylją Sowietow Samarą[3]. W 2021 zakończył karierę.
Kariera reprezentacyjna
Od 2003 roku Karnilenka jest zawodnikiem reprezentacji Białorusi. W dotychczasowych 38 meczach strzelił 9 goli (stan na 5 maja 2010).