Building a bare-metal Kubernetes cluster on Raspberry Pi

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • OPS - Build and Run Open Source Unikernels
  • dashboard

    General-purpose web UI for Kubernetes clusters

    Important: Since the dashboard can control the cluster, you may need to create a Service Account to obtain an access token and login to your dashboard. This seems like a good default, since we don't want anyone to be able to control the cluster just like that.

  • inlets

    Cloud Native Tunnel, now inlets PRO [Moved to: https://github.com/inlets/inlets-archived]

    There's alternative solutions like inlets, which enable you to expose private services to the Internet without going through the router / home IP.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • OpenFaaS

    OpenFaaS - Serverless Functions Made Simple

    Functions-as-a-Service (eg. OpenFaaS).

  • traefik

    The Cloud Native Application Proxy

    K3s comes by default with traefik as the ingress controller. I heard great things about it, but I prefer to use ingress-nginx. This is simply because I'm more familiar with it. You can choose pretty much any ingress controller you want for Kubernetes, so pick one according to your own preferences.

  • prometheus

    The Prometheus monitoring system and time series database.

    You can install Grafana and Prometheus to monitor your cluster resources. But here's a quick tip if all you want is to look at the CPU/Memory utilization:

  • ingress-nginx

    NGINX Ingress Controller for Kubernetes

    K3s comes by default with traefik as the ingress controller. I heard great things about it, but I prefer to use ingress-nginx. This is simply because I'm more familiar with it. You can choose pretty much any ingress controller you want for Kubernetes, so pick one according to your own preferences.

  • k3s

    Lightweight Kubernetes

    Lucky for us, there’s K3s, a lightweight Kubernetes distribution, optimized for ARM and packaged as a single 40MB binary. It also features a simplified install and update process, which is very welcome.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • helm

    The Kubernetes Package Manager

    I installed nginx-ingress using helm, which came down to the following commands:

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