Lucknow Super Giants posted 210-0 as De Kock hit 140 not out, smashing 10 fours and 10 sixes from 70 balls.
It made De Kock and KL Rahul, who made 68 not out from 51, the first opening pair to bat throughout an IPL innings.
Yet Kolkata fell just short of victory, losing by two runs in the final over. Iyer's dismissal left Kolkata on 131-4 in the 14th over but power-hitting from Rinku Singh (40 from 15) and Sunil Narine (21 from seven) put them on the brink of an incredible chase.
With two balls left KKR needed three runs to win, with four wickets in hand, but Marcus Stoinis removed Singh and Umesh Yadav with the final two deliveries to clinch victory and finish with figures of 3-23.
Only record-holder Chris Gayle and McCullum have bettered the score of South Africa's De Kock in an IPL innings.
Gayle hit an unbeaten 175 for Royal Challengers Bangalore in 2013 and McCullum scored 158 not out for KKR in the first IPL match in 2008.
Victory sees Lucknow secure one of the four play-off places while Kolkata miss out as they can finish no higher than sixth.