Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
documentation.suse.com / Layered Stack Deployment of K3s / Architectural overview
Applies to SUSE Linux Enterprise Micro 5.1, K3s 1.20.14

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:

K3s architecture
Figure 3.1: Architecture Overview - 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