this post was submitted on 13 Feb 2026
44 points (94.0% liked)

Selfhosted

56368 readers
1068 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Wanting to dip my toes into kubernetes for homelab stuff and I have a few questions.

  1. 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?

  2. 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.

  3. Can I migrate Docker services to a Kube cluster? How easy is it?

  4. 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)

top 16 comments
sorted by: hot top controversial new old
[–] inzen@lemmy.world 1 points 5 hours ago
  1. No just linux and an orchestrator, for very small and local deployments I have used k3s.
  2. Probably not, but maybe with WSL2.
  3. Yes, there are many ways to do it. Some have mentioned helm but you cal also write your own manifests, somewhat similar to docker-compose files.
  4. The Kubernetes Book, and just try to get some pods up and running.
[–] AA5B@lemmy.world 1 points 5 hours ago

Anyone try Rancher? Is that still a thing? When I looked into k8s a few years back, Ranchers was highly recommended to simplify managing k8s if you couldn’t automate. Supposedly friendly and free.

[–] beeng@discuss.tchncs.de 3 points 9 hours ago

Read the book for fun before you do it for fun on a machine.

[–] Vorticity@lemmy.world 30 points 1 day ago (2 children)

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:

  1. Any Linux flavor will do the job.
  2. No, windows doesn't really play nice with containers to begin with. Kubernetes is another layer of complexity that will make it tough.
  3. Yep, definitely! This is typically done using helm charts. Helm is basically the package manager for kubernetes. There are many helm charts that you can just install into kubernetes and they'll work for you. You can also roll your own if you have custom applications. Argocd can also be helpful depending on how deep you want to get.
  4. I'd start by looking into videos on helm charts. That said, you will need a very strong understanding of docker containers and may need a good understanding of networking.

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.

[–] dust_accelerator@discuss.tchncs.de 5 points 1 day ago* (last edited 1 day ago) (1 children)

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/

[–] Vorticity@lemmy.world 2 points 1 day ago

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.

[–] Retail4068@lemmy.world 2 points 1 day ago (1 children)

Windows works fantastic with k8s/wsl. Y'all just make up shit 🤣.

[–] thecoffeehobbit@sopuli.xyz 1 points 10 hours ago (1 children)

If the friend likes windows server specifically, they're in for a ride..

[–] Retail4068@lemmy.world 2 points 9 hours ago

I missed that part 🤣. Yeah I wouldn't touch that shit with an 18ft pole.

[–] mongoose@sopuli.xyz 7 points 1 day ago

Some tangential advice: don't use kubernetes for any of your "production"/"essential" homelab services. Feel free to experiment and learn of course, but don't use it permanently unless you master it and still enjoy it. There are far simpler methods of running containers like Podman Quadlets, which is what I switched to after running K8s for years and made so many headaches go away.

[–] mavu@discuss.tchncs.de 9 points 1 day ago

It's not too late for you, you still have a chance. run!

[–] magikmw@piefed.social 5 points 1 day ago (1 children)

You can start with minikube, it's a one node environment you can run in a vm. Another fairly straightforward kubernetes distribution is k3s, you can set it up on a bunch of nodes running common linux distributions via ansible for example.

I learned how to kubernetes from open online sources and just trying really hard to set up certain apps. Some have kubernetes tutorials or deployment manifests included.

You can also start with helm, which is like a package manager for kubernetes. It can ease you into configuration required for each application.

As for docker, kubernetes uses containers, but those are bundled into pods. It's not a particularly difficult leap I think. However I recommend trying using podman for a bit first. It's fairly compatible with dockerfiles and commands, but also allows you to setup and export pods you can then directly use in kubernetes.

[–] iggy@lemmy.world 2 points 1 day ago

I would also suggest looking into k0s/k0sctl for deploying k8s. I think it's probably the easiest deployment method I've personally used. It also makes updates dead simple.

For deploying things to k8s, these days LLMs can write the k8s manifests pretty easy if there isn't already helm or kustomize files available.

[–] Retail4068@lemmy.world 3 points 1 day ago

questions.

Do I need a specialized OS for it? No, but they may have additional tools to make it easier.

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. Yes and ignore every neck beard here who tells you otherwise. Windows + WSL is a good way to have both.

Can I migrate Docker services to a Kube cluster?  How easy is it? Yes, and a moderate amount of work.

[–] deifyed@lemmy.wtf 2 points 1 day ago* (last edited 1 day ago)

Haven't gotten around to testing Talos enough, but I'm very enthusiastic about the idea. The little I've tested it has been great. My reasoning is (from my point of view ofc): maintaining an OS(Linux/windows/what have you) is pain, maintaining Kubernetes is pain. If I can I want to put all my effort into one of them. The regular OSes are made to do anything, Talos is made for one specific thing which hopefully reduces the attack and maintenance surface a lot. You also get a fair amount of handholding with Talos compared to raw Kubernetes.

No idea about the windows server part.

If your docker services is running with docker compose, there's a tool called https://kompose.io/ that will help you. Haven't tried it, but as most k8s things it probably need some adjustments.

https://www.youtube.com/watch?v=3I9PkvZ80BQ is an alright overview of the idea k8s. This thing called https://k3s.io/ is a nice staying point for testing k8s out

Not sure if the following will help you, but it helped me so I'll share:

  • Kubernetes is isn't specifically designed for running services. It's a generalized tool to help you implement a declarative pattern for your compute
  • A lot of the hate K8s gets is actually due to the declarative paradigm. There's still a lot of tasks people don't consider worthy of describing. In k8s you're supposed to describe everything

Edit: k8s is awesome in my unpopular? opinion, but yeah. There is a significant learning curve.

A lot of the experience for getting a service up and running is boilerplate. You can checkout an old project of mine to see how a small set of information must be structured to work in k8s: https://github.com/deifyed/kaex The output will only work for a old version of k8s. Haven't kept the project updated due to work moving away from k8s

[–] liliumstar@lemmy.dbzer0.com 2 points 1 day ago

You can get started pretty easily with Podman desktop and kind. Then you have a small self-contained cluster to mess around with, that also functions as a dev environment. Another option, and how I first learned, was with free credits from GCP. I realize this is self-hosted, just providing options for learning..

I've always liked Digital Ocean tutorials for getting stuff done. This one shows you how to deploy some things and links out to official documentation for further details: https://k8s-ops.net/posts/getting-started-with-kubernetes-digitalocean/

These are also good free tutorials: https://www.geeksforgeeks.org/devops/kubernetes-tutorial/

Once you are comfortable with kubectl and basic deployments, then look into helm.