13 K3s #
K3s is a highly available, certified Kubernetes distribution designed for production workloads in unattended, resource-constrained, remote locations or inside IoT appliances.
It is packaged as a single and small binary, so installations and updates are fast and easy.
13.1 How does SUSE Edge use K3s #
K3s can be used as the Kubernetes distribution backing the SUSE Edge stack. It is meant to be installed on a SLE Micro operating system.
Using K3s as the SUSE Edge stack Kubernetes distribution is only recommended when etcd as a backend does not fit your constraints. If etcd as a backend is possible, it is better to use RKE2 (Chapter 14, RKE2).
13.2 Best practices #
13.2.1 Installation #
The recommended way of installing K3s as part of the SUSE Edge stack is by using Edge Image Builder (EIB). See its documentation (Chapter 9, Edge Image Builder) for more details on how to configure it to deploy K3s.
It automatically supports HA setup, as well as Elemental setup.
13.2.2 Fleet for GitOps workflow #
The SUSE Edge stack uses Fleet as its preferred GitOps tool. For more information around its installation and use, refer to the Fleet section (Chapter 6, Fleet) in this documentation.
13.2.3 Storage management #
K3s comes with local-path storage preconfigured, which is suitable for single-node clusters. For clusters spanning over multiple nodes, we recommend using Longhorn (Chapter 15, Longhorn).
13.2.4 Load balancing and HA #
If you installed K3s using EIB, this part is already covered by the EIB documentation in the HA section.
Otherwise, you need to install and configure MetalLB as per our MetalLB documentation (Chapter 21, MetalLB on K3s (using L2)).