Kubernetes at home for fun and education

Homekube.org aims to set up a full operational kubernetes environment on a baremetal Ubuntu server. The focus is getting something done first and improve your kubernetes skills step by step along a happy path.

Following this tutorial you should have Kubernetes and a sample application installed along with the most useful and popular administration components on your local Ubuntu server(s):

App Tutorial Service (AMD64) Service (ARM64 /Raspberry)
‘Who am I’ echo service whoami.md live live
Kubernetes dashboard dashboard.md login demo/demo login demo/demo
Grafana monitoring grafana.md login demo/demo login demo/demo
Prometheus metrics prometheus.md live live
Testing payloads and response times workload-testing.md Grafana open ‘Request Handling Performance’  

Project philosophy

There are many ways to install Kubernetes locally but for simplicity we’ll follow Ubuntu’s recommended MicroK8s installation recipes. With just a few commands we will setup a Kubernetes single node locally. For all further installs we’ll primarily use helm commands so we are very close to what you’d do in a cloud environment. For more complex setups including Multi-Host Multi-Cluster on a pile of Raspberrys see also the installation variants.

Requirements

Server requirements are:

Base Installation

Host Container
-> Host installation -> 1) Setup environment
  -> 2) Provision container(s)
  Read more about Linux containers
Very easy A few simple steps required
Single host / Single node Single host / multiple clusters
Not extendible Extendible see installation variants

Service installation

Quick tour

Dashboard -> Helm I -> Helm / Echo Service -> Echo service II

Advanced tour

Quick tour -> Ingress -> Dashboard II -> Nfs -> Prometheus Metrics -> Grafana

Pro tour

Advanced tour -> Cert manager -> Testing response times and payloads