logo

Sharpen the Edge with K3s and Containerized Operating Systems

2023-04-21

Authors:   Rey Lejano


Summary

The presentation discusses the challenges of edge computing and how to solve them using Kubernetes and Cloud Native principles.
  • Resource and physical constraints are challenges in edge computing
  • Kubernetes and Cloud Native principles can bring automation and consistency to edge devices
  • K3s is a Kubernetes distribution specifically designed for resource-constrained environments
  • K3s includes batteries-included features such as containerd, runC, CNI, CoreDNS, and Clipper lb
  • The Linux Foundation's State of the Edge provides a vendor-neutral platform for edge computing research
The speaker mentions that managing upgrades and life cycle management of OS and Kubernetes on hundreds or thousands of devices becomes difficult, and that Cloud Native principles can streamline this process. They also suggest using get Ops tools like Fleet to target specific clusters for upgrades. The speaker emphasizes the need for operational efficiency and removing the need for on-site technicians in edge computing.

Abstract

Containers allow applications to run anywhere and on anything (with a container runtime on Linux). This ability to run anywhere is perfect for Edge or IoT devices where device management may be complex. How do we bring container orchestration out to the Edge, IoT devices, and other distant, difficult, or constrained environments – K3s. K3s is a lightweight Kubernetes distribution that can run on as little as 1 CPU and 512MB of RAM and does not need etcd. K3s is a CNCF sandbox project that is perfect to deliver Kubernetes out to the Edge, IoT devices, and constrained environments. This talk isn't a K3s overview and goes beyond deploying Kubernetes at the Edge or on IoT devices. This talk is about "Cloud Nativifying" a few sysadmin duties for Edge and IoT devices where access is difficult. This talk covers how to control OS updates of Edge and IoT devices via Kubernetes by making the OS a Kubernetes resource. First we make a bootable Linux derivative OCI container image and store it in a container registry. Updates are delivered via container registry, controlled by Kubernetes, and accomplished by switching active/passive images. Not only do you manage an application through Kubernetes but also the underlying OS of the machine.

Materials:

Post a comment