Architecture Diagram
Below is the architecture diagram in Mermaid format for the home lab setup using k3s, as requested. This diagram represents the physical machines, virtual machines, Kubernetes cluster components, NFS storage, and application pods, along with their relationships.
mermaid
Explanation of the Diagram
-
Physical Layer:
-
Physical Machine 1 (192.168.123.100): Hosts two virtual machines and the NFS server.
-
Physical Machine 2 (192.168.123.230): Hosts one virtual machine.
-
-
Virtualization Layer:
-
VM1 (192.168.123.221): Runs the Kubernetes master node.
-
VM2 (192.168.123.222): Runs the first worker node.
-
VM3 (192.168.123.223): Runs the second worker node.
-
NFS Server (192.168.123.100): Provides persistent storage, running directly on Physical Machine 1.
-
-
Kubernetes Layer:
-
Master Node: Manages the Kubernetes cluster, hosted on VM1.
-
Worker Node 1: Runs Nextcloud and Vaultwarden pods, hosted on VM2.
-
Worker Node 2: Runs Paperless-ngx and Bookstack pods, hosted on VM3.
-
Nginx Ingress Controller: Handles external traffic routing to the application pods.
-
Application Pods: Deployed applications (Nextcloud, Vaultwarden, Paperless-ngx, Bookstack) running on the worker nodes.
-
-
Connections:
-
Physical machines host their respective virtual machines and the NFS server.
-
Virtual machines run the Kubernetes nodes (master and workers).
-
The master node manages the worker nodes.
-
Worker nodes host the application pods.
-
Application pods use the NFS server for persistent storage.
-
The Nginx Ingress Controller exposes the application pods to external traffic.
-
This Mermaid code can be rendered in a compatible viewer (e.g., Mermaid Live Editor) to visualize the architecture of the k3s-based home lab setup.