Loading search data...

Homelab - Quelles configurations choisir pour se former aux technos DevOps

Publié le : 14 janvier 2023 | Mis à jour le : 16 janvier 2023

logo

Introduction

Vous cherchez à vous former ou à progresser sur un outil d’infrastructure as code, un outil utilisé dans des pipelines CI/CD où pour apprendre à déployer des applications sur des clusters Kubernetes ? Une des meilleures solutions est de construire son propre homelab composé d’un ou plusieurs mini-pc et de quelques composants réseaux. En effet, une fois le matériel acquis vous n’aurez plus qu’à régler vos factures électriques. Mais comment choisir un mini-pc pour monter votre propre infrastructure de formation ?

homelab

Il n’y pas réellement de règles, tout est fonction de votre objectif.

Persistence des VM ou pas ?

Si vous n’avez pas besoin de rendre vos réalisations persistantes, alors un pc portable ou un mini-pc avec suffisamment de ressources CPU, mémoire et disque sera nécessaire. Par contre, dans le cas contraire, il faudra acquérir un ou plusieurs mini-pc ainsi qu’un switch et des câbles réseaux et un NAS si vous voulez partager des données entre plusieurs de ces machines.

Se former à provisionner des environnements virtuels persistants

Vous souhaitez pouvoir créer des VM sur des hyperviseurs de type 1 comme Proxmox ou VmWare ESXI en utilisant un outil de provisionning du type terraform, ansible ou pulumi. Il vous faudra une machine qui servira de console pour lancer les taches de provisionning, une ou plusieurs autres pour héberger vos VM (compute). La machine hébergeant la console pourra servir à construire et à héberger vos images ou templates de VM, mais aussi de server dhcp et l’ipam.

La console

Votre console peut être une machine possédant un processeur avec 4 coeurs et 8 Go de RAM. Pour le disque, si vous hébergez vos images localement et non sur un serveur NAS, prenez au minimum un ou plusieurs disques d’une capacité d’au moins 1 To total (plus c’est mieux).

Exemple de configuration :

Les machines hébergeant le compute

Ces machines pouvant héberger plusieurs VM, il faudra prendre des machines possédant un CPU avec au minimum 8 coeurs et 16 Go de mémoire. Pour la partie disque un minimun de 512Go peut faire l’affaire, tout dépendant du volume de données nécessaires au fonctionnement des applications que vous souhaitez héberger. Personnellement, je privilégie les machines avec les processeurs AMD possédant les meilleurs rapports Prix/Nbre de cores par rapport à Intel.

Exemple de configuration :

Se former à un outil de gestion de configuration

Si vous souhaitez vous former à un gestionnaire de configuration comme ansible, chef, puppet ou pulumi alors la persistance est importante comme critère de choix.

Sans persistance

En effet il est possible de se former à ses outils en utilisant un simple PC où vous installerez un hyperviseur de type 2 comme virtualbox, Vmware player ou KVM. Cette machine devra posséder un nombre de cores suffisants, 8 étant le minimum, et de 16 Go de RAM. Cela vous permettra de créer au moins 3 VM tournant en concurrences pour faire tourner par exemple un cluster kubernetes. Pour instancier vos VM, vous pouvez utiliser un outil comme terraform ou vagrant (ma préférence dans ce cas d’usage).

Exemple de configuration :

Avec persistance

On revient aux configurations décrites sur la formation aux hyperviseurs.

Se former aux pipelines CI/CD pour déployer des applications

Dans ce genre de cas d’objectif, il n’est pas forcément utile d’utiliser des ressources à la maison. Vous pouvez utiliser les runners mis à disposition sur les services en ligne comme Gitlab ou Github. Par contre, pour ceux qui veulent utiliser leurs propres runners il vous faudra au minimun un pc hébergeant un cluster mono-noeud avec du k3s par exemple. Pour les ressources 4 cores et 8Go de RAM est un minimum. Ensuite vous souhaitez déployer vos applications non cloud-natives sur vos propres VM, il faudra ajouter les serveurs décrit dans la section se former à l’utilisation d’un hyperviseur de type 1. La console pourrait héberger les runners mais attention à prendre alors un serveur avec 8 cores au minimun et 16Go de RAM.

Se former aux déploiements et à l’hébergement d’applications cloud natives.

Ce genre de besoins demandes des ressources identiques à celles utilisées pour héberger des VM. Il vous faudra donc au minimum un pc avec 8 coeurs et 16 Go de RAM. Si vous souhaitez faire tourner vos pipelines CI/CD sur une autre machine un minimun de 4 cores et 8Go de RAM fera l’affaire.

Quel OS choisir ?

La question ne se pose pas. Compte tenu de la domination de Linux dans ce domaine, il faudra choisir un OS de cette famille. Privilégiez les releases que vous serez amené à rencontrer dans la vie professionnelle : Famille redhat ou debian.

Et le réseau

Quid de comment connecter vos machines entre elles. Il suffit de s’équiper d’un petit switch avec 8 à 16 ports en Gigabit. Vous en trouvez pour une trentaine d’euros. Si votre homelab est loin de votre box internet ajoutez un couple d’adaptateur CPL. Faites bien attention aux ports sur lesquels vous connecterez vos CPL à votre box.

Conclusion

J’ai essayé de recenser les différents cas de d’auto-formation envisagée. Vous remarquerez qu’en général, on peut démarrer avec une seule machine.

Pour vous aider à choisir le bon CPU, je vous conseille de vous rendre sur le site cpubenchmark et en particulier sur cette page.

Mots clés :

devops homelab tutorials

Si vous avez apprécié cet article de blog, vous pouvez m'encourager à produire plus de contenu en m'offrant un café sur  Ko-Fi. Vous pouvez aussi passer votre prochaine commande sur amazon, sans que cela ne vous coûte plus cher, via  ce lien . Vous pouvez aussi partager le lien sur twitter ou Linkedin via les boutons ci-dessous. Je vous remercie pour votre soutien.

Autres Articles


Commentaires: