S'Ă©quiper pour se former đ»
Mise Ă jour :
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
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 :
- Recherche sur Amazon de Pc Portables avec 8 Cores et 16 Go de RAM â
- Recherche sur Amazon de Mini-PC avec 8 cores et 32 Go de RAM â
Seconde solution : Un ou plusieurs mini-pc
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 :
- MINIS FORUM JB95 Intel Celeron Silver N5095 Quad-Core CPU 8 Go / 256 Go SSD â Ă 220âŹ
- Beelink SER5 Ryzen 5 5560U 6 Cores 12 Threads 16 Go / 512 Go SSD Wi-Fi6E â Ă 390âŹ
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 :
- Pour les plus bricoleurs un simple serveur NFS depuis un PC peut faire lâaffaire.
- Pour ceux qui ont du budget un serveur NAS. Des exemples de configuration â.
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.