0% found this document useful (0 votes)
62 views

Chapitre Edge IoT Kubernetes

The document discusses edge computing and cloud native technologies like Kubernetes for IoT. It explains that edge computing is needed for IoT devices to process data in real-time without sending it to the cloud. Kubernetes can manage edge nodes and containers to provide scalability, high availability, and remote management of resources for IoT edge devices. Some challenges of IoT edge include limited resources on devices and security issues, which Kubernetes is well-suited to address through features like auto-scaling and self-healing of containers. Lighter versions of Kubernetes have also been developed for resource-constrained edge environments.

Uploaded by

Bochra Arfaoui
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views

Chapitre Edge IoT Kubernetes

The document discusses edge computing and cloud native technologies like Kubernetes for IoT. It explains that edge computing is needed for IoT devices to process data in real-time without sending it to the cloud. Kubernetes can manage edge nodes and containers to provide scalability, high availability, and remote management of resources for IoT edge devices. Some challenges of IoT edge include limited resources on devices and security issues, which Kubernetes is well-suited to address through features like auto-scaling and self-healing of containers. Lighter versions of Kubernetes have also been developed for resource-constrained edge environments.

Uploaded by

Bochra Arfaoui
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

COURS TECHNOLOGIES ET PROTOCOLES IoT

CHAPITRE:
EDGE COMPUTING POUR L’IoT
ET
CLOUD NATIVE TECHNOLOGIES : KUBERNETES

Dr. Eng. Sofiane Ouni

1
what is IoT and edge computing?

 The IoT devices need to operate in real-time, which means there isn't enough time for a roundtrip
request going to a centralized cloud server and returning with a response. The solution is to move the
processing closer to the IoT devices, at the edge of the network. This type of processing is what we call
edge computing.
 edge computing enables real-time experiences that were not possible before. For organizations,
this opens up a world of opportunities to expand their products and services and create the future
of technology. For technology teams, the benefits are being able to run a self-managed Virtual
Private Clouds (VPC) on relatively inexpensive hardware.
 Building this edge infrastructure is the next wave of innovation in the cloud and is also where cloud native
technologies like Kubernetes help make this a reality.
 Advantage of Edge computing: data privacy and bandwidth scalability.

2
cloud native makes real time processing possible

 Edge computing relies on ultra low


level latencies in the millisecond
range. Without a near zero latency,
real-time data processing would not
be possible.
 For example, CenturyLink targets 5
milliseconds latency for their edge
computing needs. Similarly, when
launching their 5G services in select
cities,Verizon projected a latency of 30
milliseconds.

IBM explains that a typical round trip request from a connected device to a
centralized cloud data center and back can be as high as 250 milliseconds.
While 5G speeds can marginally improve this latency by just about 2%, the big
difference is when workloads are shifted to the edge. This is when latencies
DR. ENG. SOFIANE OUNI under 20 milliseconds are possible. 3
EDGE PRODUCTS

The WR302G-EC/WR312G-EC/WR322GR-EC edge


computing platform is designed for embedded data
acquisition applications.

4
https://www.advantech.com/emt/products/industrial-iot-edge-gateway/sub_9a0cc561-8fc2-4e22-969c-9df90a3952b5
kubernetes at the edge
3 layers of edge infrastructure
 The first layer includes a centralized
cloud and data center.
 The second layer is responsible for data
aggregation and transfer of data between
cloud and edge nodes.
 Finally, the third layer or the last-mile
edge layer acquires and processes data at
the edge.
 Edge computing resources need to be
managed in much the same way a data
center is
 Robust security practices,
 high fault tolerance, and
 the ability to scale according to workload.

5
kubernetes nodes at the edge

 Cloud Native Computing Foundation (CNCF) : project KubeEdge to place a Kubernetes node at the edge.
 Kubernetes control plane manages the edge nodes, including containers and resources from the cloud, enabling
support for varied hardware resources at the edge.
 Kubernetes can manage thousands (or even millions) of connected devices, sending terabytes of data and
accessing services such as real-time analytics.
 it uses automated management, Kubernetes can respond quickly to any changes at the edge.
 it can scale applications up or down as per the demand, restart failed applications, balance loads by
shifting workloads between different servers in a cluster, or reroute traffic to an alternate site when a
specific edge location goes offline.
 It uses a lightweight Kubernetes solution like k3s to implement a minimal version of Kubernetes

6
qu’est ce que kubernetes ?

 Kubernetes est un framework de déploiement et d'orchestration pour les applications conteneurisées. Il


permet de gérer les applications conteneurisées dans un environnement en cluster.
 Kubernetes alloue des ressources aux conteneurs et effectue la réplication, la mise à l'échelle, le
basculement, les mises à jour permanentes et d'autres tâches de gestion nécessaires à l'exécution fiable des
applications avec une utilisation efficace des ressources.
 Les conteneurs fournissent un contexte isolé pour héberger et exécuter un microservice ou une application.
Les conteneurs doivent être gérés pour la distribution des ressources et des charges, l'évolutivité et la haute
disponibilité. Kubernetes fournit une couche sur l'infrastructure pour relever ces défis.

• Un pod consiste en un ou plusieurs


conteneurs
• Chaque pod dans Kubernetes possède
une adresse IP unique (à l'intérieur du
cluster), qui permet aux applications
d'utiliser les ports de la machine sans
risque de conflit
• “Job Controller” pour lancer des pods
• Un des types de contrôleur est appelé
"contrôleur de réplication”
7
https://programmer.group/deploy-a-complete-kubernetes-high-availability-cluster.html
quels sont les challenges en iot edge ?

 Les contraintes de calcul et de ressources : Les périphériques IoT ont un CPU et une mémoire limités ,
 La gestion à distance et des ressources :
 L'utilisation efficace, la surveillance à distance et le contrôle des ressources des appareils, notamment le processeur, la
mémoire, le réseau et les ports d'E/S des appareils de périphérie.
 L'hébergement et la mise à l'échelle de n'importe quelle combinaison d'applications et la possibilité de contrôler les cœurs de
CPU et le co-processing (par exemple, GPU) pour des applications spécifiques.
 Un pare-feu sécurisé et distribué pour acheminer en toute sécurité les données sur les réseaux conformément à la
politique.
 La sécurité et la confiance: Les problèmes de sécurité représentent le plus grand obstacle à la croissance de l'IoT
edge. Il est nécessaire de garder les dispositifs IoT edge à l'abri des accès non autorisés.
 La découverte, l'authentification et l'établissement de la confiance dans la périphérie de l’IoT (IoT devices), ainsi que
l'anonymat et la traçabilité des dispositifs, constituent un défi dans les environnements à grande échelle.
 la prévention des attaques par déni de service sont quelques-uns des défis courants qui existent en périphérie IoT.

SAMPLE FOOTER TEXT 8


comment kubernetes profite aux appareils iot edge ?

 Evolutivité : La capacité à évoluer est la principale préoccupation de nombreuses solutions IoT. La capacité de desservir
davantage d'appareils et de traiter des téraoctets de données en temps réel nécessite une infrastructure capable
d'évoluer de manière indépendante, horizontalement ou verticalement. Les conteneurs étant légers, ils
peuvent être créés en quelques millisecondes par rapport aux machines virtuelles traditionnelles. L'un des
principaux avantages de Kubernetes est sa capacité à faire évoluer facilement les services sur les grappes de
réseaux, à faire évoluer indépendamment les conteneurs et à redémarrer automatiquement sans impact sur les
services.

 La haute disponibilité : Les périphériques de périphérie doivent être disponibles et fiables pour les solutions IoT.
Chaque conteneur se voit attribuer sa propre adresse IP, ce qui permet d'équilibrer facilement les charges entre
les conteneurs et de redémarrer les applications lorsque les conteneurs ne fonctionnent pas.

 Le déploiement à la périphérie de l’IoT : L'un des principaux défis de l'IoT consiste à déployer des mises à jour
logicielles vers les périphériques sans interrompre les services. Kubernetes peut exécuter des microservices qui
déploient progressivement les modifications apportées aux services.

SAMPLE FOOTER TEXT 9


les alternatives plus légères de kubernetes
Pour relever les défis de l'IoT en périphérie, il faut une version compacte et optimisée de Kubernetes:
 MicroK8s : Comme les images Docker, MicroK8s utilise des conteneurs immuables pour une meilleure sécurité et
des opérations plus simples dans Kubernetes. Il permet de créer des clusters autoréparables et à haute
disponibilité qui choisissent automatiquement les meilleurs nœuds pour le datastore Kubernetes. lorsqu'un nœud
de base de données du cluster est perdu, un autre nœud est promu sans avoir besoin d'un administrateur.
 K3s : K3s est une offre Kubernetes certifiée par la Cloud Native Computing Foundation (CNCF), ce qui
signifie que vous pouvez écrire du YAML pour fonctionner avec un cluster Kubernetes et K3s ordinaire. La RAM
minimale requise pour faire fonctionner un cluster K3s est de 512 Mo. Il est possible de permettre aux pods de
fonctionner sur le maître ainsi que sur les nœuds.
 K3s prend en charge un seul maître, ce qui signifie que si le maître tombe en panne, vous perdez la capacité de gérer le
cluster.
 La base de données par défaut utilisée dans K3s est SQLite, ce qui signifie que ce sera un problème pour les grandes bases de
données où trop d'opérations se produisent.
 Rancher : Rancher is a complete software stack for teams adopting containers. It addresses the operational and
security challenges of managing multiple Kubernetes clusters across any infrastructure, while providing DevOps
teams with integrated tools for running containerized workloads. cluster deployment on bare metal,
private clouds, public clouds or vSphere and secure them using global security policies.
 KubeEdge : KubeEdge est un projet de la CNCF. Son objectif principal est d'étendre Kubernetes du cloud à la
périphérie. KubeEdge permet une "gestion centralisée" des nœuds de périphérie distants et des applications qui y
sont exécutées, ce qui constitue une capacité de gestion à distance importante.

10
services gérés de cloud/edge pour la périphérie IoT (IoT devices)

Outre les différentes variantes de Kubernetes, il existe de nombreuses solutions de cloud managé disponibles chez Amazon,
Microsoft, Google et d'autres, qui peuvent répondre aux défis de l'IoT edge:
 AWS IoT Greengrass : Cette solution Amazon fournit des contrôles pour la construction d'appareils IoT qui se
connectent au cloud et à d'autres appareils. Elle permet l'exécution locale du code AWS Lambda, la mise en cache des
données, la messagerie et la sécurité. AWS IoT Greengrass permet une communication rapide, ce qui se traduit par une
réponse en temps quasi réel. https://aws.amazon.com/fr/blogs/containers/collecting-data-from-edge-devices-using-kubernetes-and-aws-iot-greengrass-v2/

 Azure IoT Edge : Azure IoT Edge est un service entièrement géré , construit sur le hub Azure IoT. Il est utilisé pour
analyser les données sur les appareils IoT plutôt que dans le cloud. Il aide à déployer (offload) des charges de travail
dans le cloud, telles que l'intelligence artificielle ou la logique d'entreprise, pour qu'elles s'exécutent sur les
périphériques IoT à l'aide de conteneurs standard. les appareils passent moins de temps à communiquer avec le cloud,
réagissent plus rapidement aux changements locaux et fonctionnent de manière fiable, même lors de périodes hors
https://microsoft.github.io/iotedge-k8s-doc/print.html
ligne prolongées.

 Akamai IoT Edge Connect , VMWare Pulse IoT Center , IBM Edge Application Manage ,…….

https://aimultiple.com/iot-edge-platforms https://www.g2.com/categories/iot-edge-platforms 11
K3S (lightweight kubernetes )

 K3S is a lightweight kubernetes built for IoT and


edge computing, provided by the company
Rancher.
 The binary is deployed on servers with two
different k3s roles (k3s-server or k3s-agent).
 k3s-server: starts all kubernetes control plane
processes (API, Scheduler and Controller) and
worker proceses (Kubelet and kube-proxy),
so master node can be used also as worker node.
 k3s-agent: consolidating all kuberentes worker
processes (Kubelet and kube-proxy).

Flannel is a simple and easy way to configure a layer 3 network fabric designed for Kubernetes.

12
KUBERNETES: FLANNEL NETWORKING
The official documentation says kubernetes networking model requires:

• all containers can communicate with all other containers without NAT
• all nodes can communicate with all containers (and vice-versa) without
NAT
• the IP that a container sees itself as is the same IP that others see it as

flannel runs a daemon process called flanneld, it creates some route rules
in kernel’s route table

https://www.devopsschool.com/tutorial/kubernetes/kubernetes-cni-flannel-overlay-networking.html 13
k3s : single-server setup with an embedded DB

 In this configuration, each agent node is


registered to the same server node. A
K3s user can manipulate Kubernetes
resources by calling the K3s API on the
server node.

SAMPLE FOOTER TEXT


https://picluster.ricsanfre.com/docs/k3s-installation/ 14
high-availability k3s

 Three or more server nodes that will


serve the Kubernetes API and run
other control plane services
 Three server nodes that will serve
the Kubernetes API and run other
control plane services
 A load balancer is needed for
providing Hight availability to
Kubernetes API. HAProxy is a
network load balancer.

SAMPLE FOOTER TEXT 15


kubeEdge

 Complementing Kubernetes for


container orchestration and scheduling,
KubeEdge allows applications, resources,
data, and devices to collaborate between
edges and the cloud.
 Devices, edges, and the cloud are now
fully connected in edge computing.
 Based on the Kubernetes control plane,
KubeEdge allows nodes to be deployed
more remotely and thereby extends edge-
cloud collaboration.
 KubeEdge was able to successfully scale
to 100,000 concurrent edge nodes and
manage over 1,000,000 active pods on
those edge nodes.
 Test : Kubernetes supports 5,000 nodes
and 150,000 pods, which are far from
enough for edge computing in Internet of
Everything (IoE). https://kubeedge.io/blog/scalability-test-report/
SOFIANE OUNI 16
kubeEdge
CloudCore
 CloudHub – Works by establishing a websocket connection with EdgeHub
on edge devices and passes changes from the cloud to the edge
 EdgeController – Handles metadata for nodes and pods on the edge
and allows data from cloud to be sent to specific edge nodes
 DeviceController – Similar to EdgeController and handles metadata for
specific devices so data can be synced between edge and cloud

EdgeCore : communication between application containers, devices, and the cloud.


• EdgeHub – Connects to cloud via websocket and is responsible for passing data
from devices back to the cloud and cloud data to devices
• Edged – The agent that runs on edge nodes and what manages the actual
containers and pods running on edge devices
• MetaManager –handles message processing between Edged and EdgeHub.
MetaManager also provides persistence and querying of metadata via SQLite
• EventBus – MQTT client that allows edge devices to interact with MQTT servers
• ServiceBus – HTTP client that allows edge devices to interact with other services
over HTTP
• DeviceTwin – Stores device status and syncs device status with cloud.
DeviceTwin also provides the ability to query devices connected to KubeEdge
• Mappers –allow edge nodes to communicate over common IoT protocols like
Modbus, OPC-UA, and Bluetooth.
17
kubeEdge performances

 KubeEdge provides an edge component to communicate


with the cloud Kubernetes cluster and deploy containers,
which only requires 70MB of memory to run.
 KubeEdge is still able to outperform alternatives when it
comes to request response time.
 This performance difference becomes even larger when
dealing with unreliable networks involving packet loss. In
these conditions Kube Edge was able to maintain a 6ms
response time while K3s, K8s, and MicroK8s were close
to a full second response time.

https://www.cncf.io/blog/2022/08/18/kubernetes-on-the-edge-getting-started-with-kubeedge-and-kubernetes-for-edge-computing/

SAMPLE FOOTER TEXT 18


kubeEdge use cases

 Data storage and processing :


 edge computing is to allow data processing to be done faster and more efficiently by being closer to the source
 Workloads at the edge often involve time series data and real-time processing of this data as sensors collect it.
 One example architecture from China Mobile (China Mobile (Shanghai) Industrial Research Institute ) :
 At the edge, Kuiper is used for processing data coming from an MQTT broker.
 That data is then stored on the edge with InfluxDB, an open source time series database ideal for edge workloads.
 Once stored inside InfluxDB, this data can be used for analysis, creating forecasts, generating data visualizations, or creating
automated alerts and tasks.
 InfluxDB also has built-in edge data replication.

 Machine Learning and AI :


 KubeEdge provides its own toolkit called Sedna to make deploying models from popular machine learning frameworks
like Tensorflow and Pytorch easier.

SAMPLE FOOTER TEXT 19


Edge stream data processing based on kubeedge and kuiper

Architecture Diagram of Kuiper

Application Scenarios of Kuiper


• Real-time stream processing at the edge
• Rule engine to customize rules for alarm and message
forwarding
• Data format and protocol conversion for edge and cloud
data

20
sedna : edge-cloud synergy AI project incubated in KubeEdge

Worker
 Do inference or training, based on existing
ML framework.
 Launch on demand, imagine they are docker
containers.
 Different workers for different features.
 Could run on edge or cloud.

https://github.com/kubeedge/sedna 21
kubeEdge applications

 Hong Kong-Zhuai-Macau Sea Bridge Monitoring – the HZMB


bridge is the largest sea bridge in the world at 34 miles long.
The bridge is monitored using KubeEdge via a series of towers
along the length of the bridge. Each of these towers collectes
14 types of data, which includes CO2, light intensity,
atmospheric pressure, noise, and temperature. KubeEdge
is also used for deploying AI and other business applications
for processing that data at the edge.

https://www.altoros.com/blog/kubeedge-monitoring-edge-devices-at-
the-worlds-longest-sea-bridge/

22
REFERENCES
 Weaveworks, Kubernetes at the Edge, https://www.weave.works/blog/kubernetes-at-the-edge-part-1, February 02, 2021
 Mary Ann Richardson, Why Kubernetes Is Vital for Moving Cloud Native Technologies To the Edge,
https://www.spiceworks.com/tech/devops/articles/why-kubernetes-is-vital-for-moving-cloud-native-technologies-to-the-
edge/amp/ , June 24, 2021
 Comment Kubernetes profite à l’IoT Edge?, https://mobiskill.fr/blog/conseils-emploi-tech/comment-kubernetes-profite-a-
liot-edge/ , 06.04.2022
 K3S Installation, https://picluster.ricsanfre.com/docs/k3s-installation/
 Wack Xu, Test Report on KubeEdge's Support for 100,000 Edge Nodes, https://kubeedge.io/blog/scalability-test-report/ ,
July 13, 2022 ·
 Edge stream data processing based on KubeEdge and Kuiper, https://www.cncf.io/blog/2021/08/03/edge-stream-data-
processing-based-on-kubeedge-and-kuiper/ , August 3, 2021
 https://github.com/kubeedge/sedna

SAMPLE FOOTER TEXT 23

You might also like