Clearly, $k=0$ works. We will show that this is the only solution.
Assume the contrary that there exists such a function $f$ for some $k>0$. Consider the sequence $A=\{a_h\}_{h\ge 0}=\{f^h(1)\}_{h\ge 0}$.
First, note that there can't be any cycle; that is, for any $n,m\in\mathbb{N}$, $f^m(n)\neq n$ because there are infinitely many natural numbers of the form $f^m(n)$. (Specifically, those natural numbers are $n+k,n+2k,...$.) In particular, all elements in $A$ must be distinct.
We will prove the following lemma:
Lemma : For any $x\in\mathbb{N}$, there exists $O(\sqrt{N})$ terms in the first $N$ terms of $A$ that is congruent to $x\pmod k$.
Proof : If there doesn't exists such term, then we're done. Otherwise, let $a_g$ be the smallest term congruent to $x\pmod k$.
We can see that $a_{g+na_g+\frac{n(n-1)k}{2}}=a_g+nk$ for all $n\ge 0$. Thus, the number of desired terms is equal to the number of non-negative integers $n$ such that $g+na_g+\frac{n(n-1)k}{2}\le N$, which is $O(\sqrt{N}).$
From the lemma, we can see that the first $n$ terms of $A$ have $O(\sqrt{n})$ values, which is impossible.