Bouw virtuele appliances met BoxGrinder
Gepubliceerd: Dinsdag 7 juni 2011
Auteur: Koen Vervloesem
Met BoxGrinder kun je eenvoudige virtuele appliances bouwen voor allerlei virtualisatieplatforms. Beginnend van een definitiebestand heb je zo een image gebouwd, gebaseerd op Fedora, RHEL of CentOS.
In Fedora 15 is BoxGrinder eenvoudig te installeren door de pakketten rubygem-boxgrinder-core en rubygem-boxgrinder-build. Het eerste pakket bevat BoxGrinder zelf, het tweede de plug-ins die ondersteuning bieden voor Fedora-images en voor de platforms KVM, Xen, VMware en Amazon EC2. Daarna creëren we in ~/.boxgrinder/config een configuratiebestand voor BoxGrinder, waarin we bijvoorbeeld een lokaal pad voor de resulterende images instellen:
log_level: debug
plugins:
local:
path: /home/koan/builds
Daarna kunnen we een definitiebestand in YAML-formaat aanmaken, bijvoorbeeld voor een appliance met een minimale Fedora 15-installatie (JeOS, Just enough Operating System):
name: fedora15-jeos
summary: Just enough Operating System based on Fedora 15
os:name: fedora
version: 15
password: webwereld
hardware:
partitions:
"/":
size: 2
packages:
- @core
Hierin definiëren we dat we de appliance op Fedora 15 willen baseren en een root-partitie van 2 GB geven, waarna we als pakketten alleen de core installeren, het minimale dus dat nodig is voor een server. Wil je nog andere pakketten installeren, dan geef je ook die pakketnamen op, bijvoorbeeld httpd voor Apache of rubygem-rails voor Ruby on Rails. Je kunt ook extra repository's toevoegen en commando's definiëren die BoxGrinder moet uitvoeren na het bouwen van het appliance.
Nu creëren we op basis van dit definitiebestand fedora15-jeos.appl met een eenvoudig commando dit appliance:
$ sudo boxgrinder-build fedora15-jeos.appl
Standaard creëert dit in de builds-directory een raw image dat je bijvoorbeeld op KVM kunt draaien. Met de opties -p vmware --platform-config disk_type:thin,type:personal converteer je dit naar VMware-formaat (personal staat voor VMware Fusion, VMware Server en VMware Player). Het resultaat is naast het raw image dan een vmx- en vmdk-bestand. Het commando boxgrinder-build kent nog heel wat andere opties. Het programma ondersteunt allerlei virtualisatieplatforms en manieren van deployment door middel van plug-ins, bijvoorbeeld om een image in EC2-formaat aan te maken en dit te uploaden naar Amazon S3 of EBS.
BoxGrinder is een project dat geleid wordt door Red Hats Marek Goldmann. Meer achtergrond kun je lezen in een interview met Goldmann naar aanleiding van de release van Fedora 15, en een spotlight-artikel op Red Hat News.
De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.
