This is home to my personal Kubernetes lab cluster. Flux watches this Git repository and makes the changes to my cluster based on the manifests in the kubernetes directory. Renovate also watches this Git repository and creates pull requests when it finds updates to Docker images, Helm charts, and other dependencies.
I used the onedr0p/flux-cluster-template as a starting point for my cluster.
My cluster is k3s provisioned overtop Ubuntu Proxmox VMs using the Ansible galaxy role ansible-role-k3s. This is a semi hyper-converged cluster, workloads are sharing the same available resources on my nodes while I have a separate VM running TrueNAS Scale for data storage.
🔸 Click here to see my Ansible playbooks and roles._
- kube-vip: Announces the kubeserver api via BGP
- metallb: Announces loadbalancers via BGP
- 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
- k8s-gateway: Runs a separate internal-only DNS zone for some services
- ingress-nginx: Ingress controller to expose HTTP traffic to pods over DNS
- sops: Managed secrets for Kubernetes, Ansible and Terraform which are commited to Git
- cilium: Provides networking, security, and observability
- rook-ceph: Provides block, object, and file storage
Flux watches my kubernetes folder (see Directories below) and makes the changes to my cluster based on the YAML manifests.
Renovate watches my entire repository looking for dependency updates, when they are found a PR is automatically created. When some PRs are merged Flux applies the changes to my cluster.
Device | Processor | Ram | OS Disk Size | Data Disks | Operating System | Purpose |
---|---|---|---|---|---|---|
Dell Precision Tower 9710 | 2 x Intel Xeon CPU E5-2687W v4 | 128 GB | 2TB NVME | 6 x 4TB HDD / 2 x 8TB HDD / 1 x 240GB SSD | Debian 11 (PVE) | Virtualization Host / NAS |
Dell Optiplex 5050 | 1 x Intel Core i5-7600T | 32GB | 256GB NVMe | - | Debian 11 (PVE) | Virtualization Host |
Dell Optiplex 5060 | 1 x Intel Core i5-8500T | 32GB | 256GB NVMe | - | Debian 11 (PVE) | Virtualization Host |
Raspberry Pi 4 Model B | 1 x Broadcom BCM2711 | 8GB | 64GB SD Card | - | Raspbian | Misc |
TP-Link TL-SG105 | - | - | - | - | - | Network Switch |
Times Rebuilt | Last Updated |
---|---|
12 | 7/15/2023 |
A lot of inspiration for my cluster comes from the people that have shared their clusters using the k8s-at-home GitHub topic and the Kubernetes@Home search .
See LICENSE