Virtualisation légère avec la carte Raspberry Pi 4, KVM et Cockpit …

Image for post
Image for post

Je pars pour cette nouvelle expérience d’une carte Raspberry Pi 4 avec la version à 8go de mémoire vive. Et Canonical propose justement une version ARM 64 Bits de sa distribution Ubuntu 20.04 LTS dédiée à cette dernière.

Image for post
Image for post

Je décompacte localement cette image après l’avoir téléchargée :

Image for post
Image for post

et j’utilise Balena Etcher pour la chargée sur une carte SD.

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

Une fois l’opération terminée, je crée un fichier vide nommé SSH dans la partition système (qui me permettra de me connecter à l’OS Ubuntu via mon réseau local) :

Image for post
Image for post

Je connecte alors la carte Raspberry Pi 4 au réseau local via son port Ethernet …

Image for post
Image for post

Je lance la découverte de l’adresse IP utilisée par l’OS via Nmap :

Image for post
Image for post

et je peux m’y connecter via SSH (login : ubuntu / pwd : ubuntu à changer après connexion) …

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

ce qui peut être vérifié :

Image for post
Image for post

Il est alors possible d’y installer Cockpit.

Cockpit est un projet libre, mis à jour régulièrement et disponible pour de nombreuses distributions. Concrètement, grâce à Cockpit, toutes les tâches d’administration habituelles de vos serveurs sont réalisables. Par le biais de Cockpit, vous pourrez gérer le stockage, la mise en réseau, les comptes utilisateurs, voir les services et daemons actifs, modifier quelques paramètres systèmes (domaine, nom, configuration des mises à jour) et encore accéder aux logs. Ainsi que la partie virtualisation …

Installation des paquets correspondants dans Ubuntu 20.04 LTS :

Image for post
Image for post

Ce qui entraîne l’installation de l’hyperviseur KVM et des outils associés pour cette architecture ARM 64 Bits. Activation de Cockpit.

Image for post
Image for post

J’active un nouveau mot de passe pour le compte root.

Image for post
Image for post

Sur le port TCP 9090, je peux accéder au dashboard de Cockpit :

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

Je peux commencer la création de machines virtuelles par l’utilisation d’images ISO de la distribution légère Alpine Linux …

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

Création d’une première machine virtuelle Alpine Linux par l’entremise du dashboard de Cockpit :

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

Connexion à la console de la machine virtuelle également par ce biais …

Image for post
Image for post

J’y installe le moteur Docker après avoir activer les dépôts nécéssaires …

Image for post
Image for post

Récupération de Rancher K3s,

Image for post
Image for post

qui me permet d’initier au travers de cette première machine virtuelle, un noeud maître d’un futur cluster Kubernetes …

Image for post
Image for post

Création de deux autres machines virtuelles Alpine Linux sur le même principe :

Image for post
Image for post

Chargement de K3s sur ces dernières et configuration en tant que noeuds de ce cluster Kubernetes …

Image for post
Image for post

Je n’ai pu qu’à charger le client Kubectl sur l’OS Ubuntu avec le fichier kubeconfig correspondant pour accéder et contrôler ce cluster Kubernetes (sur la base de ces petites machines virtuelles Alpine Linux) :

Image for post
Image for post

Le cluster Kubernetes est opérationnel …

Image for post
Image for post

Je charge ce manifeste YAML qui va permettre de lancer le sempiternel démonstrateur FC par l’intermédiaire d’une image Docker en version ARM 64bits.

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

Le démonstrateur FC est accessible via Traefik en tant qu’Ingress Controller dans ce cluster Kubernetes …

Image for post
Image for post

Comme on l’a vu dans plusieurs articles, Serveo permet d’exposer globalement ce démonstrateur par une simple connexion SSH …

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

Le dashboard de Cockpit permet de suivre quelques métriques de base avec le fonctionnement de ces machines virtuelles …

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

Un test simple qui n’aura pas réussi à consommer la mémoire de cette version à 8Go …

Image for post
Image for post

Le champ de la virtualisation sur ce type de carte est amenée à évoluer d’autant qu’au VMworld, VMware avait proposé une version d’ESXi 7.

L’ESXi ainsi constitué est capable de se connecter à un vCenter, de faire du vMotion avec ses congénères ainsi qu’assurer la plupart des fonctions standard au sein d’un cluster. Ceci dans le contexte grandissant de l’Edge Computing …

Image for post
Image for post

Avec l’avénement de la version 4.x de l’hyperviseur LXD, on peut retrouver l’exécution de machines virtuelles sur ce type de carte également :

Une communauté dynamique et enthousiaste à suivre autour du développement continu de cette magnifique carte ! 😉 …

Image for post
Image for post

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