Restic. You just need a s3-compatible object store in k8s to make it work. All else is handled by the client. That’s what I used (not with k8s), with resticprofile.
I also heard Borg is a great alternative, but never try personally, nor how it works. Both are CLI only I believe.