3 Architectural overview #
This section outlines the core elements of the K3s solution, along with the suggested target platforms and components.
3.1 Solution architecture #
The figure below illustrates the high-level architecture of K3s:
- Container Runtime
- Containerd & runc 
- Kine as a datastore shim that allows - etcdto be replaced with other databases
 
- Networking
- Flannel for CNI 
- Kube-router for network policy 
 
- Services
- CoreDNS 
- Metrics Server 
- Traefik for ingress 
- Klipper-lb as an embedded service load balancer provider 
- Local-path-provisioner for provisioning volumes using local storage 
 
- Workloads
- Helm-controller to allow for CRD-driven deployment of helm manifests 
- Host utilities
- iptables/nftables, ebtables, ethtool, and socat 
When this is set up, users can interact with K3s via
- kubectl - directly on the K3s host or 
- remotely, leveraging the KUBECONFIG file of the K3s cluster’s deployment ( - /etc/rancher/k3s/k3s.yaml)
 
- manual or automatic, manifest or Helm Chart based, workload deployments 
