Both words are very old , long before the modern English:
The word knife is old ; here are its origins:
Origin: bef. 1100; Middle English knif, Old English cn?f; c. Dutch knijf, German Kneif, Old Norse kn?fr
]
Even today , in Norwegian Danish and Swedish its kniv
The word knight is even older:
[Origin: bef. 900; Middle English ; Old English cniht c. German, Dutch knecht
]
http://en.wikipedia.org/wiki/Knight#Etymology
So here we see that the letter c changed to k
See here : http://en.wikipedia.org/wiki/Old_english#The_alphabet