Our great sponsors
-
To begin, I highly recommend K3s by Rancher. Just go straight for the Triple HA Master with kube-karp on your RPis. This is the juicy way. Also don't listen to anyone saying you shouldn't run pods on your master nodes, you totally can and would be a waste of resources if you didn't. - Kube karp for master nodes VIP: https://github.com/immanuelfodor/kube-karp - HA Embedded k3s: https://rancher.com/docs/k3s/latest/en/installation/ha-embedded/
-
Some notes on Plex/Emby/Kodi and transcoding. If you want true transcoding with GPU acceleration, you have to have Nvidia GPU or be a k8s device plugin genius. The whole idea of mounting elastic devices in k8s is fairly new and rather complex. In the mean time transcoding is best done on a beefy device with a proper CPU (eg i7) or specifically Nvidia GPU because there are numerous pre-made plugins. I just run Plex and Emby on an old ATX gaming machine without GPU acceleration and it works totally fine. They were barely usable for just me when running on the RPis, wouldn't recommend it unless you can figure out how to mount the correct devices in the pod using a custom raspberry pi device plugin . . . lol good luck! - Arm labs device manager: https://community.arm.com/developer/research/b/articles/posts/a-smarter-device-manager-for-kubernetes-on-the-edge - Deis labs Akri device manager: https://github.com/deislabs/akri - Nvidia GPU plugin: https://github.com/NVIDIA/k8s-device-plugin
-
SonarLint
Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.
-
- SMB CSI: https://github.com/kubernetes-csi/csi-driver-smb - OpenEBS if you got the hardware for it: https://openebs.io/
-
Some notes on Plex/Emby/Kodi and transcoding. If you want true transcoding with GPU acceleration, you have to have Nvidia GPU or be a k8s device plugin genius. The whole idea of mounting elastic devices in k8s is fairly new and rather complex. In the mean time transcoding is best done on a beefy device with a proper CPU (eg i7) or specifically Nvidia GPU because there are numerous pre-made plugins. I just run Plex and Emby on an old ATX gaming machine without GPU acceleration and it works totally fine. They were barely usable for just me when running on the RPis, wouldn't recommend it unless you can figure out how to mount the correct devices in the pod using a custom raspberry pi device plugin . . . lol good luck! - Arm labs device manager: https://community.arm.com/developer/research/b/articles/posts/a-smarter-device-manager-for-kubernetes-on-the-edge - Deis labs Akri device manager: https://github.com/deislabs/akri - Nvidia GPU plugin: https://github.com/NVIDIA/k8s-device-plugin
-
- SMB CSI: https://github.com/kubernetes-csi/csi-driver-smb - OpenEBS if you got the hardware for it: https://openebs.io/
-
external-dns
Configure external DNS servers (AWS Route53, Google CloudDNS and others) for Kubernetes Ingresses and Services
For SSL, DNS, and Ingress: - k3s comes with traefik, use it - Cert manager will auto pilot your lets encrypt: https://cert-manager.io/ - Disable the servicelb in k3s, its awful, use MetalLb instead, it is necessary for Plex: https://metallb.universe.tf/ - External DNS will manage your, well . . . external DNS: https://github.com/kubernetes-sigs/external-dns
-
For SSL, DNS, and Ingress: - k3s comes with traefik, use it - Cert manager will auto pilot your lets encrypt: https://cert-manager.io/ - Disable the servicelb in k3s, its awful, use MetalLb instead, it is necessary for Plex: https://metallb.universe.tf/ - External DNS will manage your, well . . . external DNS: https://github.com/kubernetes-sigs/external-dns
-
InfluxDB
Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.
-
Get comfortable with these tools, they install stuff: - kubectl/kustomize: https://kubectl.docs.kubernetes.io/references/ - Helm: https://helm.sh/
-
For SSL, DNS, and Ingress: - k3s comes with traefik, use it - Cert manager will auto pilot your lets encrypt: https://cert-manager.io/ - Disable the servicelb in k3s, its awful, use MetalLb instead, it is necessary for Plex: https://metallb.universe.tf/ - External DNS will manage your, well . . . external DNS: https://github.com/kubernetes-sigs/external-dns
-
- https://github.com/rancher/harvester - https://kubevirt.io/ - https://docs.virtlet.cloud/
-
- https://github.com/rancher/harvester - https://kubevirt.io/ - https://docs.virtlet.cloud/
-
For your second question, yes you most definitely can do everything you want to do with Home Assistant. I also installed it and it works as expected. The pod is not what is exposed on your network, it is the service of type LoadBalancer which exposes an external IP on your network. This is where MetalLb comes into play. You simply tell the Home Assistant service to be type LoadBalancer and add some annotations to configure MetalLB. Do take not on the gotcha with LB services wanting to expose UDP and TCP, you need two services with a shared IP to do so. - https://metallb.universe.tf/usage/#ip-address-sharing - here is the chart I used: https://github.com/k8s-at-home/charts/tree/master/charts/home-assistant
Related posts
- Replace JupyterHub with a simple FastAPI app to manage notebooks on Kubernetes
- How to Deploy Wordpress to Amazon EKS using Helm
- envsubst with template file vs using CD Tools
- Redis on Kubernetes: A powerful solution with limits
- primary postgresql on aws rds, read replicas on k8s, outside aws, possible?