Skip to content
My Homelab Kubernetes Cluster
Shell
Branch: master
Clone or download

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ansible
dashboards
deployments bump ombi version to 3.0.5020-ls5 Feb 24, 2020
docs
hack
secrets
.gitignore
README.md

README.md

My home Kubernetes cluster driven by GitOps

Kubernetes

Discord

All workloads are in the deployments folder and sorted into folders by namespace.

This repository isn't really a tutorial on how to set up a Kubernetes cluster, checkout my k3s-gitops-arm repo for more of a A-Z guide on how to setup a cluster on some Raspberry Pis.

Huge shout out to billimek/k8s-gitops and carpenike/k8s-gitops who continue to be a great resource of information.

Deployment Namespaces

k3s or k8s

k3s was my choice in deployment because of how easy and quick it is to get going with k3sup. I am also using the Docker CRI under k3s instead of the default containerd. This is helpful to me if I ever want to set up Continuous Integration in the future.

Server Configuration

All my Kubernetes worker and master nodes below are running bare metal Ubuntu 18.04.3. Using a Hypervisor seemed like a bit overkill, all the devices would be running 1 VM anyways.

  • 1x OdroidH2 w/ 256GB NVMe and 16GB RAM for the Kubernetes master node
  • 3x NUC8i5BEH w/ 1TB NVMe and 32GB RAM for the rook-ceph/storage nodes
  • 2x NUC8i7BEH w/ 500GB SSD and 64GB RAM for the worker nodes
  • 5x Sonnet Thunderbolt to 10Gb SFP+ for the Intel NUC Kubernetes worker and storage nodes
  • 1x Qnap 8 bay NAS w/ 12TB drives for media and some deployment volumes

Load Balancer IPs

MetalLB IP Address Range: 192.168.42.100-192.168.42.250

Deployment IP Address
nginx-ingress 192.168.42.100
qbittorrent 192.168.42.130
plex 192.168.42.140
influxdb 192.168.42.150
loki-syslog 192.168.42.155
You can’t perform that action at this time.