Looking for a sanity check on a project I'm working on at home, hoping you fine people can help - Raspberry Pi Kubernetes Cluster

This page summarizes the projects mentioned and recommended in the original post on /r/homelab

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • kube-karp

    ☸ Add a floating virtual IP to Kubernetes cluster nodes for load balancing easily.

  • 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/

  • akri

    A Kubernetes Resource Interface for the Edge

  • 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

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • cstor-operators

    Collection of OpenEBS cStor Data Engine Operators

  • - SMB CSI: https://github.com/kubernetes-csi/csi-driver-smb - OpenEBS if you got the hardware for it: https://openebs.io/

  • k8s-device-plugin

    NVIDIA device plugin for Kubernetes

  • 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

  • csi-driver-smb

    This driver allows Kubernetes to access SMB Server on both Linux and Windows nodes.

  • - 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

  • metallb

    A network load-balancer implementation for Kubernetes using standard routing protocols

  • 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

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • helm

    The Kubernetes Package Manager

  • Get comfortable with these tools, they install stuff: - kubectl/kustomize: https://kubectl.docs.kubernetes.io/references/ - Helm: https://helm.sh/

  • cert-manager

    Automatically provision and manage TLS certificates in Kubernetes

  • 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

  • harvester

    Open source hyperconverged infrastructure (HCI) software

  • - https://github.com/rancher/harvester - https://kubevirt.io/ - https://docs.virtlet.cloud/

  • kubevirt

    Kubernetes Virtualization API and runtime in order to define and manage virtual machines.

  • - https://github.com/rancher/harvester - https://kubevirt.io/ - https://docs.virtlet.cloud/

  • charts

    Discontinued ⚠️ Deprecated : Helm charts for applications you run at home (by k8s-at-home)

  • 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

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • How to take down production with a single Helm command

    1 project | news.ycombinator.com | 4 Apr 2024
  • Deploy Kubernetes in Minutes: Effortless Infrastructure Creation and Application Deployment with Cluster.dev and Helm Charts

    3 projects | dev.to | 17 Feb 2024
  • Kubernets Helm Chart

    1 project | dev.to | 13 Feb 2024
  • Let's Celebrate Relicensing from an Open Source to a Proprietary License

    1 project | news.ycombinator.com | 12 Oct 2023
  • Simplified Deployment: A Deep Dive into Containerization and Helm

    6 projects | dev.to | 9 Oct 2023