Hoe kan ik een template maken om mijn Server te installeren?

  Servers

Een template is een kant-en-klare installatie van je favoriete besturingsysteem. Een template zorgt ervoor dat u niet de gehele installatie handmatig moet doorlopen, maar dat dit al voor u gedaan is. Op die manier heeft u binnen 15 seconden een volledig werkende Server.

Het is erg gemakkelijk om zelf templates te maken. Zo kan u extra software vooraf installeren en configuratie instellingen goed zetten. Handig als u bijv. op drukke momenten even een 2e webserver nodig hebt, die u dan meteen zonder installatie kan inzetten.

Als u zelf templates wil maken voor uw cloud server kan u het beste onze eigen templates als basis nemen, dan weet u namelijk zeker dat het besturingsysteem al goed geconfigureerd is en hoeft u dat niet zelf uit te zoeken.

Benodigdheden

Templates moeten in QCOW2 formaat worden aangeleverd. Dit is een zeer gangbaar formaat voor schijfbestanden van virtuele machines.

Wij bouwen onze templates zelf met Packer, een mooie tool die bij wijze van spreke een installatie emuleert en u in staat stelt het gehele proces tot in de kleinste details te configuren.

Voor onze Servers maken we gebruik van de Qemu builder van packer. Packer kan u installeren op alle gangbare besturingssystemen. Omdat u de templates in een qemu/KVM virtualisatie omgeving moet bouwen kan u het beste een Linux distributie pakken die hier ondersteuning voor heeft zoals CentOS of Ubuntu.

Omdat de installatie gestart wordt doormiddel van een virtuele machine kan u het beste een fysieke computer gebruiken voor het bouwen van de templates. De algemene installatie instructies vindt u hier.

Installatie

In het voorbeeld gebruiken wij een fysieke machine met daarop een recente versie van Ubuntu Linux geïnstalleerd. Installatie is ook mogelijk op andere linux distributies, mits je maar Packer kunt installeren en de machine KVM virtuele machines kan starten.

Installatie Packer

$ sudo apt-get install -y unzip
$ cd ~
$ sudo wget https://releases.hashicorp.com/packer/0.10.1/packer_0.10.1_linux_amd64.zip
$ sudo unzip packer_0.10.1_linux_amd64.zip -d /usr/local/bin
$ sudo chmod +x /usr/local/bin/packer

Installatie KVM

$ sudo apt-get update
$ sudo apt-get -y install qemu qemu-kvm

Templates bouwen

Als u alles geïnstalleerd hebt kan u op basis van onze Github repositorie een Ubuntu 16.04 template met een schijf van 20GB bouwen.

$ git clone https://github.com/PCextreme/packer-templates.git
$ cd packer-templates
$ ./build.sh -t ubuntu1604 -s 20480

Als u verder geen foutmeldingen krijgt kan u de voortgang van de installatie volgen en zal er afhankelijk van de snelheid van uw machine uiteindelijk in de map templates/ubuntu1604/packer_output een .qcow2 bestand achterblijven die u kan uploaden naar ons systeem!

Zoals u misschien al is opgevallen gebruiken wij een script genaamd build.sh. Dit is een wrapper om Packer heen die u o.a. in staat stelt om meerdere templates tegelijk te bouwen, en de grootte van de template dynamisch weer te geven. U hoeft dit script niet te gebruiken.

U kan packer bijvoorbeeld ook rechtstreeks aanroepen:

$ packer build templates/ubuntu1604/template.json

Zoals u ziet voert u op basis van het besturingsysteem een template.json bestand aan Packer. Als u wijzigingen wilt maken aan de configuratie van het besturingsysteem is dit het bestand waar u het beste kunt beginnen..

Verdere documentatie

U kent nu de basics van Packer. Nu is het misschien leuk om een template te maken die helemaal aansluit bij uw wensen. Een overzicht van alle mogelijkheden vindt je in de officiële Packer documentatie.