Thanks to visit codestin.com
Credit goes to github.com

Skip to content

The source of truth for my home cluster to reconcile from following GitOps where possible.

License

Notifications You must be signed in to change notification settings

osnabrugge/home-ops

My home operations repository

Logo

... managed with Flux, Renovate and GitHub Actions 🤖

Kubernetes Renovate

Discord Home-Internet


📗Overview

This repo is the sources of truth for a semi-hyperconverged k3s cluster that I maintain at home. To best of my ability, I've tried to document the cluster's configuration and the tools I use to manage it. I hope that it can serve as a reference for others who are interested in building their own cluster.

Cluster Components

  • Authentication
  • Networking
    • cilium CNI providing networking between pods, services and provides L2 loadbalancing
      • ingress-nginx for reverse proxy ingress and loadbalancing
      • multus enables pods to access seperate VLANs & physical networks using:
        • sr-iov plugin attach pods to sr-iov capable interfaces & applicable VFs
          • whereabouts to ensure consistent IP addressing across physical nodes
  • Storage
    • openebs provides ephemeral storage for pods
    • rook-ceph manages a ceph cluster that provides replicated persistent storage
    • azure blob storage cold storage for backups and volume snapshots
  • Cluster Management
    • actions-runner-controller runs GitHub Actions as self-hosted runners on this cluster
      • flux GitOps operator that keeps this cluster in sync with this repository
  • DNS Management
    • external-dns publishes DNS records and automates split-horizon DNS between: - cloudflare for explicitly annotated ingress objects - pi-hole for all servies and ingress objects
  • Backup

Network topology

Name Subnet DHCP range ARP reserved
LAN 192.168.1.0/24 150-254 120-149
TRUSTED 192.168.10.0/24 150-254 -
SERVERS 192.168.42.0/24 150-254 120-149
GUESTS 192.168.50.0/24 150-254 -
IOT 192.168.70.0/24 150-254 -
WIREGUARD 192.168.80.0/28 - -

🤝 Thanks

A lot of inspiration for my cluster came from the members of the Home Operations Discord community. They are responsible for these great resources:

  • Flux Cluster Template is a community driven template that provides a great starting point for anyone who has limited knowledge of Kubernetes and GitOps
  • Kubsearch.dev is a search engine for apps deployed across the community's clusters. It's a great way to find inspiration or solve challenges for your own cluster

Specifc thanks to the following members for their contributions and where I drew inspiration from:

About

The source of truth for my home cluster to reconcile from following GitOps where possible.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •