Understand k3d cluster anatomy
mainA k3d cluster is composed of several containerized components:
Loadbalancer (Optional/Default)
- Image:
ghcr.io/k3d-io/k3d-proxy - Purpose: Proxies and load balances requests from the host to the cluster. By default, it proxies Kubernetes API traffic to port
6443on server nodes. It supports multiple port-mappings that can be added or removed by recreating the proxy without affecting cluster state.
- Image:
Primary Server Node (Required)
- Image:
rancher/k3s - Purpose: The initializing server node. It runs the K3s executable (
k3s server) which includes containerd, the Kubernetes API Server, and etcd/sqlite. In multi-server setups, it initializes the cluster with an embedded etcd database using the--cluster-initflag.
- Image:
Secondary Server Node(s) (Optional)
- Image:
rancher/k3s - Purpose: Additional server nodes for high availability.
- Image:
Agent Node(s) (Optional)
- Image:
rancher/k3s - Purpose: Runs the K3s agent process (e.g., kubelet) via
k3s agent.
- Image: