Wanting to dip my toes into kubernetes for homelab stuff and I have a few questions.
-
Do I need a specialized OS for it? I’ve been trying to get some TalOS VMs running but I’ve ran into some issues. Would you recommend like a Ubuntu server running kubernetes over something like TalOS?
-
Could I run this on a Windows server? I’m personally a Linux guy, but a friend who prefers windows server wanted to try it and I thought I’d ask.
-
Can I migrate Docker services to a Kube cluster? How easy is it?
-
Any recommendations for learning materials? I’ve clearly struggled with TalOS’s quick start materials as I haven’t been able to get into the tutorial cluster made with docker locally. I keep getting weird errors and reinstalling Talosctl and docker. I’ve diagnosed this as a “skill issue”. My learning budget is like $100 for a udemy class or good interactive guide (Paid for by work apparently. I was learning this for fun, but it may actually be needed knowledge for a project)


Kubernetes has a hell of a learning curve. Once you get your head around it, it can be great but it is a huge lift to learn. For self hosting I’d lean towards docker-compose rather than kubernetes but kubernetes can be nice once you get past the super steep learning curve.
To answer your questions:
I would strongly recommend looking into deployment using docker-compose over kubernetes until you understand containers inside and out. While Kubernetes can be nice it akso adds another layer of difficulty. I say this as someone who uses kubernetes daily for work, uses off the shelf helm charts, and writes their own helm charts from scratch.
Windows works fantastic with k8s/wsl. Y’all just make up shit 🤣.
Adding to this (which is a solid recommendation and answer BTW), you can try out
podman kube play <your-file>.yaml(see here) before going full k8s or k3s setup to familiarize yourself with the concepts, without moving too far away from the docker-compose ease of use.Regarding question 1, any distro works, but if your are looking specifically for a lightweight, fast to deploy node host os, I recommend opensuse microOS/leap micro or similarly, fedora coreOS. With both you can drop a combustion/butane/ignition config file in a usb installer partition, so you can quickly integrate fresh installs in your cluster (ssh, network config, user accounts, package installs) see https://opensuse.github.io/fuel-ignition/
As the guy whose comment you added to, thanks for pointing out
podman kube play. I’ve ever used it before and it looks worth playing with. It’s a bit limited in terms of what resources it can create if you’re used to k8s, but it definitely looks useful for testing and quickly standing up simple apps.