Kubernetes à la mode Edge

Les nouvelles sources d’événements telles que la voiture connectée dans l’automobile, le bâtiment et les bureaux intelligents ou encore l’industrie pour la surveillance des usines, nécessitent des capacités de calcul et de traitements en complément des infrastructures traditionnelles.

 

Le Edge Computing est apparu pour éviter la transmission de données nombreuses et peu pertinentes vers les Data Centers ou le Cloud, apportant fluidité et rapidité de réaction.

Avant de continuer, qu’est-ce que le Edge Computing ?

Le Edge Computing peut être considéré comme un réseau de mini Data Centers (entre un serveur et moins d’une dizaine d’instances, généralement 2 ou 4 machines), qui stockent et traitent les données au plus près des infrastructures où les capteurs sont déployés.

Il est le plus souvent utilisé dans l’univers de l’IoT où la connectivité est faible et la latence importante. Les flux de données remontés par les capteurs sont traités localement, afin de réduire le trafic en direction des serveurs centraux (Data Centers et/ou Cloud) et ainsi permettre une analyse des données importantes et une réaction proche du temps réel.

A l’instar des Data Centers et du Cloud avec Kubernetes (sur Kubernetes, lire l’article Transformez votre architecture applicative avec Kubernetes), le Edge Computing doit répondre aux besoins d’automatisation, d’industrialisation, de standardisation, de fiabilisation et de sécurisation. Des distributions de Kubernetes dédiées au Edge sont apparues début 2019, telle KubeEdge et K3s.

Contrairement à un Data Center où provisionner les ressources nécessaires au bon fonctionnement de Kubernetes est relativement aisé, les ressources Edge sont en quantité finie et limitée. Déployer des serveurs nombreux et performants dans des champs ou en lisière d’autoroutes n’est pas quelque chose d’aisée !

La puissance de Kubernetes étendue à l’univers du Edge

KubeEdge est une plateforme open source qui permet d’étendre l’utilisation des conteneurs et leur gestion à l’univers du Edge sous forme de package. Elle fournit l’infrastructure de base pour le déploiement, la mise en réseau, la gestion des applications conteneurisées et la synchronisation des métadata des devices avec le serveur central.
Elle intègre Kubernetes pour la partie orchestration, un broker MQTT pour gérer la communication entre les objets IoT et le Edge, et un hub pour la communication Edge/Cloud.

KubEdge est une initiative de Huawei Cloud IEF. La version 0.1 était conçue pour fonctionner uniquement avec le service Cloud IEF de Huawei mais son utilisation a été étendue à l’ensemble des fournisseurs de Cloud avec la version 0.2 (mars 2019).

K3s quant à lui, est une version allégée de Kubernetes proposée par Rancher. La volonté est de permettre l’utilisation de Kubernetes sur des infrastructures limitées, Edge server, Raspberry Pi, IoT, etc…

K3s est une distribution de Kubernetes, associée à une distribution linux légère (K3OS), en un binaire dont l’empreinte est inférieure à 40 MB de disque et 512 Mo de RAM. Ceci lui permet d’être déployée sur des serveurs à faible capacité. Cette configuration permet de profiter de la puissance de gestion d’applications proposée Kubernetes dans les configurations les plus limitées.

Conclusion

KubeEdge et K3s sont conçus pour les charges de travail de production dans des emplacements distants sans surveillance, à ressources limitées, ou dans des appliances IoT.
Ces initiatives n’en sont qu’à leurs débuts et ne sont pas encore « prod ready », mais reste des initiatives très prometteuses avec des Roadmaps à suivre de près.

Auteur : Ahmad TOHAMI

Architecte IT