Aller au contenu

S'Ă©quiper pour se former đŸ’»

Mise Ă  jour :

logo

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 ? De quelle configuration avez-vous besoin pour vous former ?

Quelles solutions envisagées ?

Tout dépend de votre objectif :

  • Dans un simple but de formation avec des serveurs Ă©phĂ©mĂšres, vous pouvez dĂ©marrer avec un PC portable disposant de suffisamment de ressources CPU, mĂ©moire et disque nĂ©cessaire.

  • Dans le but de monter un homelab persistant, vous aurez besoin de plus de ressources. Un ou plusieurs mini-pc disposant de suffisamment de ressources CPU, mĂ©moire et disque nĂ©cessaire.

PremiĂšre solution : PC Portable

homelab devops

Si vous n’avez pas besoin de rendre vos rĂ©alisations persistantes, alors un pc portable ou un mini-pc. En effet, il est possible de se former Ă  ses outils en utilisant un simple PC oĂč vous installerez un hyperviseur de type 2 comme hyper-v, 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 :

Seconde solution : Un ou plusieurs mini-pc

homelab devops

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 serveur dhcp et ipam.

La console

Votre console peut ĂȘtre une machine possĂ©dant un processeur avec 4 cƓurs 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 :

Un serveur NAS ou pas

Pour le stockage de vos données persistantes vous pouvez envisager deux solutions :

Des exemples de config en fonction de votre objectif

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. Donc envisagez la seconde solution

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 minimum 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 minimum 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.