Edge computing on heterogeneous hardware using KubeEdge and K3S

Tom Selleslagh, Sebastien Dupont

https://kubeedge.presentations.cetic.be

Agenda


Edge Computing

Containers Orchestration

KubeEdge

Use case

Perspectives

Conclusion

Edge Computing

Cloud Computing

A network of remote servers hosted on the Internet which can store, manage, and process data, rather than using a local server or a personal computer
IGI-Global.com

Edge Computing

Data processing and storage takes place at or near the edge, a boundary between digital and physical entities.
This nearness will be defined by the system's requirements.

ISO/IEC JTC 1/SC 38

Edge Computing

Challenges

  • Heterogeneity
  • Security
  • Latency
  • Lack of mobility support
  • Location-awareness
  • Resilience
  • ...

Edge Computing

Solving the resilience challenge

  • cloud can take over failing processes from the edge
  • edge can operate autonomously in case the cloud is unavailable
  • distribute and rebalance processing between cloud and edge

Container orchestration

Virtualisation and Containers

Containers provide fast and lightweight virtualization at the OS level

Cluster

A group of similar things that are close together, sometimes surrounding something
Cambridge dictionary

A number of similar things that occur together
merriam-webster dictionary

Orchestration

Plan and organize something carefully and sometimes secretly in order to achieve a desired result
Cambridge dictionary

Kubernetes (K8S)

system for automating deployment, scaling, and management of containerized applications
kubernetes.io

Kubernetes Ressources

Kubernetes :

  • Pods
  • ReplicaSet
  • Deployement
  • DaemonSet
  • Job (batch API)
  • CronJob (batch API)
  • ...


Get available objects:   kubectl api-resources 

Custom :

Kubernetes orchestration

Workers have to perform some tasks Increase efficiency with a manager Container as a Service architecture

Kubernetes distributions

  • Installers: Kops / Kubeadm / Kubespray
  • Public clouds: Amazon EKS , Azure Kubernetes Service, GKS, ...
  • Platform as a Service: Rancher, OpenShift, ...
  • Single node development: Minikube, MicroK8S, ...
  • ...

A lightweight Kubernetes distribution

  • small binary
  • low memory requirements
  • containerd instead of Docker
  • multi architecture (ARMv7, ARM64, x86, ...)
Open source system for extending native containerized application orchestration capabilities to hosts at Edge

KubeEdge Architecture

Option 1 : CloudCore - EdgeCore

  • Communication between cluster and edge nodes: WebSocket
  • Specific process on each side

KubeEdge Architecture

Option 2 : EdgeSite

  • Communication between cluster and edge nodes: K8S Api
  • Process on edge side

EdgeNode

Components

EdgeNode

Modules Roles

ServiceBus acts as an interface for sending/receiving messages over WebSocket.
MetaManager is the message processor between edged and edgehub. It’s also responsible for storing/retrieving metadata to/from a lightweight database(SQLite).
DeviceTwin module is responsible for storing device status, dealing with device attributes, syncing device status to the cloud and syncing the device twin information between edge and cloud, ...
Eventbus acts as an interface for sending/receiving messages on mqtt topics.

Edge solutions

  • OpenStack StarlingX
  • LF Edge + Edge X Foundry
  • ETSI Multi-Access Edge Computing
  • KubeEdge + K3S
  • Apache NiFi + MiNiFi
  • AWS IoT Greengrass
  • Azure IoT Edge
  • Google IoT Edge

Use Case

Data analysis in industrial applications - FADI

  • high volumes: filter and compress data (preprocessing at the edge)
  • time sensistive alerts: do not depend on the cloud
  • loss of/poor network connectivity: buffer data, fallback processing mode in the edge

Test bed

PPCC - A portable datacenter to simulate Cloud and Edge infrastructures

  • Test deployment before moving to production
  • Heterogeneous architecture: ARM, ARM64, x86, ... (Pine64, Raspberry Pi, PCEngines APU, ESP32, ...)
  • Sensors and actuators: fan, leds, switches
  • Edge nodes with KubeEdge, Cloud nodes with K3S

PPCC - Mark 1

Prototyping

PPCC - Mark 2

Kubernetes

PPCC - Mark 2.1

Kubernetes

PPCC - Mark 3

Lights!

Perspectives

  • Security at the edge
  • EdgeMesh - make Edge nodes communicate with each others
  • Mapper and drivers (6LBR, LoRa...)
  • FPGA

Conclusion

KubeEdge is less than one year old but has already evolved a lot. Which can slowly become a usable solution in production. The focus is not yet on the ingestion of data but on the communication between the nodes

K3S provides lightweight Kubernetes deployment on heterogeneous hardware.

Those 2 tools can extend data analysis capabilities from the Cloud to the Edge.

Credits and references



Aéropole de Charleroi-Gosselies
Avenue Jean Mermoz 28
B-6041 Charleroi - Belgique

twitter.com/@CETIC
twitter.com/@CETIC_be
linkedin.com/company/cetic
info@cetic.be
+32 71 490 700

KubeEdge : A Kubernetes Native Edge Computing Framework

🖨Print this presentation




Selleslagh Tom

Research Engineer

+32 484 142 313
tom.selleslagh@cetic.be

Sebastien Dupont

Expert Research Engineer

sebastien.dupont@cetic.be