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

Karim
8 min readJul 5, 2020

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.

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

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

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) :

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

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

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

ce qui peut être vérifié :

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 :

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

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

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

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

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

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

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

Récupération de Rancher K3s,

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

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

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

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) :

Le cluster Kubernetes est opérationnel …

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.

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

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

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

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

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 …

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 ! 😉 …

--

--