Documents
01
Ready
›
02
Ready
›
03
Ready
›
04
Ready
›
05
Ready
›
06
Ready
›
07
Ready
›
MD
Read
›
Project Overview
What this project is, who built it, and why. The big picture — from security consultancy to infrastructure portfolio.
Legacy Setup — The Original WordPress Site
How mfa2fa.com ran before Kubernetes — Apache, WordPress, MySQL on a single VPS. What worked, what didn't, why it had to change.
Migration — Why Kubernetes
Architecture decision records. Why K8s over Docker Compose, how the migration was planned, what was containerised first.
Cluster Setup — 3-Node Homelab
How kube1, kube2, kube3 were built with kubeadm. ContainerD, Flannel CNI, MetalLB, NFS provisioner, Wazuh SIEM.
Networking — OVH → WireGuard → MetalLB
Full network topology. OVH VPS as reverse proxy, WireGuard tunnel, MetalLB Layer 2, CSF firewall gotchas, nginx rewrites.
WordPress in Kubernetes
Running WordPress as a Deployment in the wordpress6 namespace — pods, MySQL, PVCs, LoadBalancer service, URL rewriting.
Cluster Dashboard — Live Reference
Building the cluster-dashboard namespace from scratch. CronJob probe, ServiceAccount RBAC, NFS storage, MetalLB gotchas, CSF BOGON fix.
Operations README — docs namespace
Full runbook for the mfa2fa-docs namespace — NFS setup, deploy commands, troubleshooting, export script for cluster migration. Download as Markdown.
Stack reference
Cluster
kubeadm
k8s v1.31
ContainerD
Flannel CNI
Oracle Linux 10
Networking
MetalLB L2
WireGuard
OVH VPS
nginx
CSF firewall
Storage
NFS 192.168.0.165
Longhorn
local-path
nfs-client
Workloads
WordPress 6
MySQL 8
Redis 7.2
Jenkins
GitLab
Wazuh
MetalLB IP map
.200 demo-nginx
.201 tomcat-base
.202 tomcat-dev
.203 tomcat-prod
.204 redis
.205 wordpress
.206 dashboard
.207 docs
Nodes
kube1 10.99.0.30 control-plane
kube2 10.99.0.31 worker
kube3 10.99.0.32 worker