This is a TEST/DEV CLUSTER running on two Raspberry Pi 4s as that was the only amount of hardware I had free for it.
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.
kubernetes
├── apps
├── bootstrap
└── flux
Tool | Purpose |
---|---|
ansible | Preparing Ubuntu for Kubernetes and installing k3s |
flux | Operator that manages your k8s cluster based on your Git repository |
sops | Encrypts k8s secrets with GnuPG |
Node | Hostname | RAM | Storage | Function | Operating System |
---|---|---|---|---|---|
Raspberry Pi 4 Model B | m1 | 8GB | 64GB SSD | Kube Master | Ubuntu 22.04 LTS |
Raspberry Pi 4 Model B | w1 | 4GB | 1TB HDD | Kube Worker | Ubuntu 22.04 LTS |
All nodes are connected to a dual-stack network, with private IPv4 and public IPv6.
Kubernetes nodes are on their own VLAN.