Chapitre Edge IoT Kubernetes
Chapitre Edge IoT Kubernetes
CHAPITRE:
EDGE COMPUTING POUR L’IoT
ET
CLOUD NATIVE TECHNOLOGIES : KUBERNETES
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
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
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 ?
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.
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.
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 )
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
https://www.cncf.io/blog/2022/08/18/kubernetes-on-the-edge-getting-started-with-kubeedge-and-kubernetes-for-edge-computing/
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
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