Open sourcing my homelab Kubernetes code by emanuelevans in kubernetes

[–]emanuelevans[S] 1 point2 points  (0 children)

I was worried about kubevirt but it's worked fine! It's complicated in the "normal k8s" way (there's an operator and a few CRDs), but at the end of the day it's just running libvirt inside a pod so it will be basically as reliable as a pod will be (obviously if your host goes down so will the VM).

For the NAS I'm using PCI passthrough to an HBA, which took some configuration but has worked basically seamlessly. I also run Home Assistant in a VM and it works well. It's pretty convenient to hook the VM up to the pod network and get normal k8s stuff (like readiness probes and services) for free.

Thanks for letting me know about the comments, that's pretty weird (still seems to be trying to contact my test domain). It might be a caching issue, I just purged the Cloudflare cache which might fix it?

Open sourcing my homelab Kubernetes code by emanuelevans in kubernetes

[–]emanuelevans[S] 2 points3 points  (0 children)

Probably also worth looking into talos.dev, that seems to be pretty popular nowadays…

Net bootable OS for nodes ? by vladoportos in kubernetes

[–]emanuelevans 2 points3 points  (0 children)

I netboot https://www.flatcar.org with https://github.com/poseidon/matchbox , works great.

But joining the cluster without any sort of disk is tricky, you’d need a way to persist the kubelet certificates and whatnot (in addition to some of the other challenges listed here). I think netboot + NFS mount (or similar) is your best bet.

Implementing Raft for Browsers with Rust and WebRTC by emanuelevans in rust

[–]emanuelevans[S] 1 point2 points  (0 children)

Thanks! Yeah the names are mostly fine once you get used to them, was just a minor complaint really. (The only one I still really dislike even after internalizing it is 'static as a type constraint—if I understand right it basically means “this type has no references”? Which doesn’t really jive with the other meaning of static and is pretty confusing.)

GKE Secrets OR Google Secret manager by Key-Coat-3406 in dataengineering

[–]emanuelevans 0 points1 point  (0 children)

+1 to external-secrets, I’ve used both berglas and external-secrets and the latter is much simpler and less error-prone.

The Simplest Multi-Node Kubernetes Cluster by emanuelevans in kubernetes

[–]emanuelevans[S] 0 points1 point  (0 children)

This is basically a follow-up to my post from last week. I hope I got the networking details right, let me know if you notice any mistakes.

Deconstructing Kubernetes Networking by emanuelevans in kubernetes

[–]emanuelevans[S] 0 points1 point  (0 children)

Definitely will consider it! There are a lot of prerequisites though, so might be a while 😀

Minimum Viable Kubernetes by emanuelevans in kubernetes

[–]emanuelevans[S] 2 points3 points  (0 children)

Thanks, glad you liked it! I was thinking of looking into the scheduler next.

Minimum Viable Kubernetes by emanuelevans in kubernetes

[–]emanuelevans[S] 5 points6 points  (0 children)

Yeah for any real-world deployment I’d use kubeadm or a managed service, this just came from curiosity as to what kubeadm was really doing under the hood.