GitOps/Flux2 managed full-stack Kubernetes cluster.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Go to file
Skyler M fa926c158d Gitea's CI is annoying, let's switch to self-hosted Gitlab. 4 days ago
.github CI: Things 1 week ago
archive Thiiings 2 weeks ago
cluster Gitea's CI is annoying, let's switch to self-hosted Gitlab. 4 days ago
hack Move hack scripts to root of repo. 4 months ago
provision/ansible Ansible: current kube version is 1.27.1 1 week ago
.drone.yml drone things 4 days ago
.gitignore Ignore .idea. 10 months ago
.pre-commit-config.yaml chore(deps): update pre-commit hook adrienverge/yamllint to v1.31.0 (#1298) 1 month ago
.sops.yaml Ansible: nut config 6 months ago
README.md Update README.md 3 months ago

README.md

📂  Repository structure

The Git repository contains the following directories under cluster and are ordered below by how Flux will apply them.

  • flux directory is the entrypoint to Flux
  • bootstrap directory contains a simple Kustomize resource to deploy Flux to an empty cluster
  • apps directory is where my common applications (grouped by namespace) are placed.
cluster
├── apps
├── bootstrap
└── flux

🔧  Tools

Tool Purpose
ansible Preparing Ubuntu for Kubernetes and installing k3s
flux Operator that manages your k8s cluster based on your Git repository
go-task A task runner / simpler Make alternative written in Go
sops Encrypts k8s secrets with GnuPG

💻 Nodes

Node Hostname RAM Storage Function Operating System
Raspberry Pi 4 Model B w1 8GB 64GB SSD Kube Worker Ubuntu 22.04 LTS
Raspberry Pi 4 Model B w2 8GB 64GB SSD Kube Worker Ubuntu 22.04 LTS
Raspberry Pi Compute Module 4 w7 8GB 32GB eMMC Kube Worker Ubuntu 22.04 LTS
VM on Synology w-amd-2 8GB 150GB SSD Kube Worker Debian 11
HP EliteDesk 800 G2 w-amd-3 32GB 256GB SSD Kube Worker Ubuntu 22.04 LTS
Lenovo ThinkCentre M910q Tiny m1 16GB 256GB SSD x 2 Kube Master Ubuntu 22.04 LTS

Storage

Node Hostname RAM Storage Function Operating System
Synology NAS NAS 16GB 2 x 3TB HDD, 2 x 6TB HDD, 1 TB NVME NFS Server DSM 7

Network

All nodes are connected to a dual-stack network, with private IPv4 and public IPv6.
Kubernetes nodes are on their own VLAN which has access to the NAS.