I suspect you already know the difference but perhaps you want to see how people phrase their answers.
An oligonucleotide is a real, physical macromolecule. The term has significance only because of the practical idiosyncrasies of molecular biology and biological chemistry, since native DNA/RNA molecules <50nt were not in play until very recently. The earliest mention I could find in Pubmed is from 1950:
but I would think the word oligopeptide (Greek oligos "small, little") would have been in use as early as 1902. The leap to oligonucleotide probably went unnoticed.
A k-mer is a mathematical concept, although the -mer is no doubt derived from meros (Greek for part). Polymer as a word was already in use by the mid 19th century. I can't find where k-mer was first used. Pevzner is using the term by 2001 while papers earlier that year use the term "l-tuple".
I think what you might be driving at is the difference between a sequence (which has both a physical and conceptual meaning) and a k-mer? A sequence can be of arbitrary length and is composed of mers (of length k)
Both k-mer and Oligos have the same meaning in the context of Bioinformatics. Another synonym you will find is n-gram.
Oligonucleotides originates from the wet lab site of view whereas k-mer/n-mer/k-tuples/n-grams are coined by computational sequence analysis (such as cryptography or pattern matching). You will find all these words heavily used in NGS literature. The frequency depends on whether the author has a stronger background (or focus) on biology or informatics.