Déploiement d’un cluster Mirantis k0s avec Traefik dans des MicroVMs au sein d’une carte Raspberry Pi 4 via Ignite et Firecracker …

Image for post
Image for post

Dans des articles précédents, j’avais pu illustrer dans des articles précédents Weave Ignite dans différentes configurations :

Pour rappel, Weave Ignite est un gestionnaire de machine virtuelle (VM) open source (basé sur le projet open source Firecracker d’AWS) avec un “User Experience” de conteneurs et une gestion GitOps intégrée …

Image for post
Image for post
Image for post
Image for post

Weave Ignite est transposable sur les architectures de type ARM 64 Bits et j’en profite donc pour tester son installation sur une carte Raspberry Pi 4 avec 8 Gb de RAM :

Image for post
Image for post

Via Raspberry Pi Imager, je récupère une image Ubuntu 20.10 pour cette dernière …

Image for post
Image for post
Image for post
Image for post

Je n’ai pu qu’à la charger dans la carte :

Image for post
Image for post
Image for post
Image for post

Suivant le modus operandi proposé par Weaveworks, je commence l’installation de CNI et Containerd …

Image for post
Image for post

via ce fichier d’installation, j’installe Ignite et le moteur Ignited :

Image for post
Image for post

Ignite est alors opérationnel …

Image for post
Image for post

J’importe une image Ubuntu 20.04 LTS pour Ignite car c’est la seule à être multi-architecture :

Image for post
Image for post

J’initialise ma première MicroVM avec Ignite :

Image for post
Image for post
Image for post
Image for post

Je peux alors m’y connecter via SSH :

Image for post
Image for post
Image for post
Image for post

Il est possible de créer une autre MicroVM via un mode interactif …

Image for post
Image for post

J’en crée une dernière et le tout formera l’ossature d’un futur cluster Kubernetes …

Image for post
Image for post

Sur la première MicroVM, j’en profite pour installer le client Kubectl et Helm v3 :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Récupération du fichier Kubeconfig et interaction avec ce cluster via le client Kubectl :

Image for post
Image for post

Je crée un token avec k0s qui va me servir à raccorder un noeud Worker avec la seconde MicroVM Ubuntu :

Image for post
Image for post

Récupération encore une fois du binaire k0s et lancement du noeud Worker :

Image for post
Image for post
Image for post
Image for post

Le premier noeud Worker du cluster est actif …

Image for post
Image for post

Je fais exactement la même chose pour la dernière MicroVM Ubuntu en ayant préalablement récupérer un autre token à partir du noeud maître :

Image for post
Image for post
Image for post
Image for post

Le cluster Mirantis k0s est actif et opérationnel avec ces trois MicroVMs Ubuntu comme noeuds :

Image for post
Image for post

J’installe MetalLB afin de bénéficier d’un service de LoadBalancer dans le cluster Kubernetes …

à partir des manifests YAML …

Image for post
Image for post
Image for post
Image for post

Sur la base du plan d’adressage IPv4 présent pour les MicroVMs Ubuntu, je crée ce fichier de configuration YAML pour MetalLB qui va se servir de ce segment d’adresses pour le service de LoadBalancer dans le cluster :

Image for post
Image for post
Image for post
Image for post

L’ingress Controller utilise alors une adresse IPv4 fournie par MetalLB :

Image for post
Image for post

Le dashboard de Traefik peut être exposé via l’Ingress Controller :

Image for post
Image for post
Image for post
Image for post

Mais je l’expose directement via le client Kubectl :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Déploiement du demonstrateur FC dans sa version ARM 64 Bits :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Le démonstrateur FC est accessible publiquement …

Image for post
Image for post
Image for post
Image for post

On peut le visualiser dans le dashboard de Traefik :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

permettant d’explorer ce cluster …

Image for post
Image for post

avec un monitoring de base …

Image for post
Image for post

Le lancement de ces trois MicroVMs avec Weave Ignite et ce cluster k0s dans la carte Raspberry Pi 4 aura occupé une grande part de la mémoire vive …

Image for post
Image for post

A u travers de ces articles, on a vu différentes manières d’utiliser la virtualisation en mode open source dans une carte Raspberry Pi 4. Avec k0s, Mirantis offre un concurrent possible à Rancher k3s avec ce segment de l’Edge Computing en pleine expansion …

Même si Mirantis a annoncé récemment vouloir également transposer sa distribution OpenStack dans Kubernetes …

et y féderer ses différents outils …

Image for post
Image for post
Image for post
Image for post

À suivre !

Above the clouds, the sky is always blue ...

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store