My home Kubernetes cluster β΅
... managed by Flux
π Overview
This repository is my homelab Kubernetes cluster in a declarative state. Flux2 watches my cluster folder and makes the changes to my cluster based on the YAML manifests.
Renovatebot keeps my applications up-to-date by scanning my repo and opening pull requests when it notices a new container image update.
Actions Runner Controller operates a self-hosted Github runner in my cluster which I use to generate and apply Sealed Secrets to my cluster.
Feel free to open a Github issue or join the k8s@home Discord if you have any questions.
π» Cluster setup
See my project over at home-operations for how I provisioned my nodes and other work that supports running this cluster.
π§ Tools
Below are some of the tools I find useful for working with my cluster
Tool | Purpose |
---|---|
direnv | Set KUBECONFIG environment variable based on present working directory |
git-crypt | Encrypt certain files in my repository that can only be decrypted with a key on my computers |
go-task | Replacement for make and makefiles, who honestly likes that? |
pre-commit | Ensure the YAML and shell script in my repo are consistent |
kubetail | Tail logs in Kubernetes, also check out stern (which fork? good luck) |
π IP addresses
This table is a reference to IP addresses in my cluster and may not be fully up-to-date
Deployment | Address |
---|---|
nginx-ingress (external) | 192.168.69.100 |
nginx-ingress (internal) | 192.168.69.101 |
home-assistant | 192.168.69.105 |
vernemq | 192.168.69.110 |
blocky | 192.168.69.115 |
qbittorrent | 192.168.69.130 |
plex | 192.168.69.140 |
loki-syslog | 192.168.69.155 |
coredns | 192.168.69.180 |
π€ Thanks
A lot of inspiration for this repo came from the following people: