I’m currently struggling with upgrading some Postgres DBs on my home-k3s and I’m seriously considering throwing it all away since it’s such a hassle.
So, how do you handle DBs? K8s? Just a regular daemon?
I just run one mariadb container via docker-compose that all my other services use as their database.
version: "2"
services:
mariadb:
image: lscr.io/linuxserver/mariadb:latest
container_name: mariadb
environment:
- TZ=####/####
- PUID=###
- PGID=###
- MYSQL_ROOT_PASSWORD==############
volumes:
- /docker/mariadb:/config
ports:
- 3306:3306
restart: unless-stopped
Off-topic but I don’t really get the appeal in running Kubernetes (or similar technologies) in a homelab. Unless it’s something you want to learn for work of course.
I’m running kubernetes simply because the other options are worse.
Proxmox takes to many resources.
Docker Compose caused countless issues for me when running multiple services (especially network related).
Bare metal is annoying, because you’re forced to keep all the services in lockstep, dependency wise.
I’m using kubernetes at with, the overhead is rather small (with k3s) and mostly it’s working pretty great.
As a bonus, you can just join multiple machines to the cluster and have work spread out over them.
That, and you have to take into account each person’s available hardware and resources.
I have an under powered 10 year old desktop, a resonably specd 5 year old laptop with a busted screen, and 8 Raspberry Pi’s (3s and 4s). And can’t currently afford better hardware.Sometimes clustering those Pi’s makes sense.
You can use whatever you have to hand.
That’s a great point I hadn’t considered tbh! And that learning new technologies even if there is no “purpose” to it can be… fun! :)
I don’t like Docker as a company, the networking seems unnecessarily obtuse to me, and k3s is a smaller version of k8s, which is here to stay in my opinion (has a bigger learning curve though), and will help me in my career. Those would be my reasons, but if someone doesn’t have a use for k3s I suppose there’s not much of a point, considering everything is still written for docker