Some infrastructure work
So as the last post implied, I needed backups. Right now, ceph is fighting me, regularly and so I may need to recover my home cluster.
Well, I have a VPS from schnellno.de and there I also have k3s running (was kubeadm but k3s is so neat and great for the purposes I use, I've kinda standardised on it now).
Now I can use ceph in single-replica mode on that node, and create a CephObjectStore (not something I've played with before, but cool) to provide s3 compatible storage that isn't aws.
The benefits this brings are multiple :
- I can use any backup system that targets s3 (e.g. velero)
- I can use cyberduck as an s3 client on my windows laptop to explore the “buckets”
- It's fronted by nginx-ingress with cert-manager, so the transfer is encrypted
- It has authentication as a standard so it should be secure
So that's what I did, and installed velero, so now I have backups of my cluster, and can recreate it quickly. Unfortunately paying for storage online for the ~8Tib of spinny disks I have is not sensible, so I need to be a bit more clever when it comes to backing up the data.
I found https://github.com/ianneub/mysqldump-to-s3 on dockerhub and it's alright but it doesn't actually allow you to target s3-compatible storage, only s3. It's also based on ubuntu so it's a heavy container. And it doesn't have automated builds. So I forked it.
I now have daily backups of this blog's database, my nextcloud database and the kubernetes objects. That's a very good start and I'm feeling happy about this.