Introduction

Warning

These docs contain information that relates to my setup. They may or may not work for you.



Lovenet Home Operations Repository

Managed by Flux, Renovate and GitHub Actions 🤖

Kubernetes   Renovate   Documentation  

Kubernetes Cluster Information:

Age-Days  Node-Count  Pod-Count  CPU-Usage  Memory-Usage  Check Links



Overview

This is the configuration for my GitOps homelab Kubernetes cluster. This cluster runs home software services for my residence. It is quite complex and there are a lot of interdependencies but the declarative nature of GitOps allows me to manage this mesh of code. The software services fall into a few primary categories:

Core Components

Infrastructure

Networking

  • cilium: Kubernetes Container Network Interface (CNI).
  • cert-manager: Creates SSL certificates for services in my Kubernetes cluster.
  • external-dns: Automatically manages DNS records from my cluster in a cloud DNS provider.
  • ingress-nginx: Ingress controller to expose HTTP traffic to pods over DNS.
  • Cloudflared: Cloudflare tunnel client.

Storage

  • Rook-Ceph: Distributed block storage for peristent storage..
  • Minio: S3 Compatible Storage Interface.
  • Longhorn: Cloud native distributed block storage for Kubernetes.
  • NFS: NFS storage.

GitOps


⚙️  Configuration


⚙️  Hardware

HostnameDeviceCPURAMOSRoleStorageIOTNetwork
master1Intel NUC7PJYH48 GBCentOS 9k8s Master
master2VM on beast38 GBCentOS 9k8s Master
master3VM on beast38 GBCentOS 9k8s Master
worker1ThinkCentre M910x832 GBCentOS 9k8s Workerlonghorn NVMeZ-Stick 7iot/sec-vlan
worker2ThinkCentre M910x832 GBCentOS 9k8s Workerlonghorn NVMeiot/sec-vlan
worker3ThinkCentre M910x832 GBCentOS 9k8s Workerlonghorn NVMe, ceph osdSonoffiot/sec-vlan
worker4ThinkCentre M910x832 GBCentOS 9k8s Workerlonghorn NVMeCoral USBiot/sec-vlan
worker5VM on beast1024 GBCentOS 9k8s Workerlonghorn NVMe, ceph osdiot/sec-vlan
worker6VM on beast1024 GBCentOS 9k8s Workerlonghorn NVMe, ceph osdskyconnectiot/sec-vlan
worker7VM on beast1024 GBCentOS 9k8s Workerlonghorn NVMe, ceph osdiot/sec-vlan
worker8VM on beast1048 GBCentOS 9k8s Workerlonghorn NVMe, ceph osdnVIDIA P40iot/sec-vlan

Network

Click to see a high level physical network diagram dns
NameCIDRVLANNotes
Management VLANTBD
Default192.168.0.0/160
IOT VLAN10.10.20.1/2420
Guest VLAN10.10.30.1/2430
Security VLAN10.10.40.1/2440
Kubernetes Pod Subnet (Cilium)10.42.0.0/16N/A
Kubernetes Services Subnet (Cilium)10.43.0.0/16N/A
Kubernetes LB Range (CiliumLoadBalancerIPPool)10.45.0.1/24N/A

☁️ Cloud Dependencies

ServiceUseCost
1PasswordSecrets with External Secrets~$65 (1 Year)
CloudflareDomainFree
GitHubHosting this repository and continuous integration/deploymentsFree
MailgunEmail hostingFree (Flex Plan)
PushoverKubernetes Alerts and application notifications$10 (One Time)
Frigate PlusModel training services for Frigate NVR$50 (1 Year)
Total: ~$9.60/mo

Noteworthy Documentation

Initialization and Teardown   Github Webhook   Limits and Requests Philosophy   Debugging  

@whazor created this website as a creative way to search Helm Releases across GitHub. You may use it as a means to get ideas on how to configure an applications' Helm values.