Automatisch servers provisioneren in home netwerk

Windows, Android, iOS, Linux, Chrome OS, ...
JUD
Plus Member
Plus Member
Berichten: 111
Lid geworden op: 10 sep 2013, 14:06
Uitgedeelde bedankjes: 10 keer
Bedankt: 7 keer

Bericht

Ik ben de laatste tijd mijn home netwerk setup zo veel mogelijk als code aan het definiëren en automatiseren. Ondertussen draai ik al mijn services in twee verschillende Kubernetes clusters en daar ben ik zeer tevreden over.

Nu was ik aan het denken om ook het provisioneren van deze nodes zoveel mogelijk te automatiseren. Voorlopig ben ik al iPXE en Ansible tegen gekomen in mijn zoektocht maar wou ook eens horen of hier mensen waren met andere ideeën hierover of best practices. Gezien ik zelf geen expert ben in infrastructuur.

Als ik het goed begrijp zou iPXE tegenwoordig de makkelijkste manier moeten zijn om images op mijn nodes te krijgen. Gezien ik momenteel Ubuntu Server gebruik zou ik vervolgens een autoinstall.yaml moeten kunnen meegeven.

Is het technisch mogelijk om de BIOS slechts één maal in te stellen om vanaf het netwerk te booten (via DHCP) en vervolgens te bekomen dat indien er niets geinstalleerd is op de HDD hij automatisch de node provisioneerd waarna ik via SSH kan aanmelden. Indien ik dan de node volledig opnieuw wil installeren de HDD gewoon volledig wis om dan vervolgens te rebooten wat resulteert in een volledige clean install?

Gezien de autoinstall de SSH keys direct kan toevoegen kan ik vervolgens vanaf mijn workstation Ansible uitvoeren om alle nodige software te installeren en configureren.

Ideale setup:
  • Mogelijkheid om node remote volledig opnieuw te installeren zonder monitor / keyboard aan te sluiten
  • Installatie iso booten vanaf het netwerk
  • Geen manuele interactie nodig op specifieke node
  • Software (eerste installatie + version updates) op alle nodes tegelijk beheren (dit is vrij simpel want momenteel is dat enkel Microk8s, smb en nfs)
Concreet was ik al volgende project tegen gekomen wat mij wel een goed startpunt lijkt:
https://netboot.xyz/docs/selfhosting

Alle bedenkingen, best practices die jullie zelf al tegen gekomen zijn, zijn dus zeker welkom!