Markelov 2006-ban kezdte el hazájában gokartos karrierjét, és 2010-re érte el a KF2-es szintet.
2011-ben az ADAC Formel Mastersbe (ma Német Formula–4) szerződött a Motopark csapattal, és 23 verseny alatt tizenegy dobogós helyet szerzett és végzett bajnokság 4. helyén. Az évben továbbá részt vett a Formula–3 Euroserieshockenheimringi fordulóján is.
2012 és 2013 között a Német Formula–3-as bajnokságban szerepelt szintúgy a Motopark csapattal, amely már Lotus név alatt versenyzett. Tanuló évében háromszor, a következő esztendőben, pedig tizennyolcszor állhatott a dobogóra és végzett az összetett 2. helyén Marvin Kirchhöfer mögött.[2]
GP2
2014-re a Russian Time csapattal a GP2-be szerződött. Első évében pontokat szerzett, a másodikban pedig többszöri Top 10-es szereplése után a belga főversenyen a 22. helyről rajtolva küzdötte fel magát a dobogó legalsó fokáig. Az év végén a 13. helyen zárt, a csapat pedig szerződést hosszabbított vele a 2016-os szezonra. Első győzelmét ebben az évben aratta, a monacói versenyen állhatott a dobogó legfelső fokára.[3]
A 2018-as szezonban továbbra is a Russian Time pilótája maradt.[6] A szezont biztatóan kezdte meg ugyanis a bahreini szezonnyitó versenyén a 3. helyen végzett a sprint versenyt pedig megnyerte. Az ezt követő azeri versenyek rosszul sikerültek számára, mert mind a két versenyen kiesett. Ezek után még a monacói fő- és a Red Bull Ring-i sprintversenyt is győzelemmel zárta. Mindezeket úgy, hogy az évben egyetlen első rajtkockát sem szerzett. Az évadban még háromszor állhatott fel a dobogó második fokára ezek közül az egyik a szezonzáró abu-dzabi nagydíj főversenye volt. A bajnokságot az 5. helyen fejezte be 186 pontot gyűjtve. Még az utolsó versenyhétvégéje megkezdése előtt bejelentette, hogy ha nem jut Formula–1-es üléshez 2019-re akkor távozik a bajnokságból.[7] Később kiderült, hogy a Russian Time utolsó szezonját teljesítette a sorozatban. Helyüket a Virtuosi Racing vette át.[8]
Markelov a 2019-es szezonban lehetőséget kapott a monacói versenyen, hogy helyettesítse az MP Motorsport színeiben az Indy500-on induló Jordan Kinget.[9] 2019 szeptemberében a BWT Arden bejelentette, hogy ő veszi át a belgiumi főversenyen halálos baleset szenvedő Anthoine Hubert helyét az év utolsó két hétvégéjére.[10][11] 2019 novemberében bejelentették, hogy pont az Arden helyére érkező HWA Team leszerződtette az egész 2020-as idényre.[12] Első pontját a belga sprintfutamon szerezte, amikor a 8. helyen ért célba.[13] 2020. szeptember 12-én a mugellói főversenyen a 8. helyen zárt, amivel a sprintversenyre az első rajtkocka lett az övé, de a ott csak a 20. lett.[14] Szeptember 22-én bejelentették, hogy szezon közben új csapattársat kap, az F3-as alakulattól érkező Jake Hughes személyében, mivel Giuliano Alesi az MP Motorsporthoz távozott.[15] Majd később kiderült, hogy Hughes helyét szintén az FIA Formula–3 bajnokságból érkező versenyző vette át, méghozzá a 17 éves Théo Pourchaire, aki az utolsó négy futamon állt rajthoz.[16] Markelov a kiírást csupán a 18. pozícióban zárta 5 ponttal.[17]
Markelov 2019-ben Japánban versenyzett, az ország legmagasabb szintű formulaautós versenysorozatában a Super Formula bajnokságban a TeamLeMans színeiben.[21] Az utolsó két hétvégét kihagyta, helyére Nakajama Juicsi ült be. Így 5 hétvége során egyetlen pontot sem szerzett és csupán a 21. lett az év végi elszámolásban.