> ## Documentation Index
> Fetch the complete documentation index at: https://diogo-home-lab.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# K3s Architecture

> How my kubernetes cluster is setup

## Why K3s

I chose [K3s](https://docs.k3s.io/) as the Kubernetes distribution for my cluster after watching NetworkChuck's video ["Raspberry Pi Supercomputer](https://www.youtube.com/watch?v=X9fSMGkjtug\&list=LL\&index=43)."

As mentioned in their official [documentation](https://docs.k3s.io/), K3s was the right choice because it is:

* Lightweight (less than 100MB)
* Beginner friendly
* Great for homelab environments
* Good for ARM computers such as my Raspberry Pis

## Architecture

My cluster follows a similar structure to the [Single Server architecture](https://docs.k3s.io/architecture#single-server-setup-with-an-embedded-db) shown in the official K3s documentation.

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/diogo-home-lab/UBi13GDIfTZHjRHJ/images/k3s-architecture-light.png?fit=max&auto=format&n=UBi13GDIfTZHjRHJ&q=85&s=3c09461fe57c1680d8fc8a889ab7a2f4" alt="Ips Light" width="1885" height="1476" data-path="images/k3s-architecture-light.png" />

  <img className="hidden dark:block" src="https://mintcdn.com/diogo-home-lab/UBi13GDIfTZHjRHJ/images/k3s-architecture-dark.png?fit=max&auto=format&n=UBi13GDIfTZHjRHJ&q=85&s=6ed8f055de369733c4d78e11078b6b79" alt="Architecture Dark" width="1885" height="1476" data-path="images/k3s-architecture-dark.png" />
</Frame>

I have one node as the **server and two agent nodes** (potentially three after I connect the last Pi).

Each node has a fixed IP address inside my cluster network, as mentioned in the [networking](/pages/architecture/networking) section of my documentation, ensuring my cluster behaves consistently across different locations such as home and workplace.
