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
etcd
to 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