https://github.com/stackclash/home-cluster
GitOps principles to define k3s home cluster state via code
https://github.com/stackclash/home-cluster
ansible k8s-at-home kubernetes terraform
Last synced: 9 months ago
JSON representation
GitOps principles to define k3s home cluster state via code
- Host: GitHub
- URL: https://github.com/stackclash/home-cluster
- Owner: Stackclash
- Created: 2020-09-15T00:37:35.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2023-09-10T00:37:47.000Z (over 2 years ago)
- Last Synced: 2025-03-26T06:11:41.855Z (9 months ago)
- Topics: ansible, k8s-at-home, kubernetes, terraform
- Language: HCL
- Homepage:
- Size: 2.5 MB
- Stars: 9
- Watchers: 1
- Forks: 1
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
My Home Kubernetes Cluster
[](https://discord.gg/DNCynrJ)
[](https://k3s.io/)
[](https://github.com/rickcoxdev/home-cluster/commits/main)
---
# :telescope: Overview
This repo is my home Kubernetes cluster declared using yaml files. The Kubernetes flavor I use is [k3s](https://k3s.io) to keep the size to a minimum.
I use [Flux](https://fluxcd.io) to watch this repo and deploy any changes I push here. See below for hardware, repo structure, and setup.
# :computer: Hardware
Previously my cluster was made up of 5 Raspberry Pi boards. I've moved to 7 Dell Wyse 5020 (Dx0Q), all of them using the Fedora 36 Server OS.
For storage one of my nodes has a 2TB external hard drive attached and is running a NFS server. Persistent volumes are provisioned using nfs-subdir-provisioner.
# :building_construction: Repo Details
## Folder Structure
The following are the main folders of the repositories.
- **cluster**: Contains all the yamls for the cluster applications and setup.
- **provision**:
- **ansible**: Playbooks to install k3s on the nodes and setup the cluster
- **terraform**: Declarations to setup the dns primary dns record to expose the cluster services.
## :clap: Thanks
I've used the following repos as inspiration and guidelines for this repo.
- [billimek](https://github.com/billimek/k8s-gitops)
- [onedr0p](https://github.com/onedr0p/k3s-gitops)
- [xUnholy](https://github.com/raspbernetes/k8s-gitops)
A special thanks goes to onedr0p for his [flux cluster template](https://github.com/onedr0p/flux-cluster-template). I recently reorganized my repo to closely follow his template.