Table of Contents
user data
context
dit document beschrijft het gebruik van user data bij het maken van een instance.
Dit zijn extra commando's die je kan ingeven na het opstarten van je instance.
Zo kan je heel wat handmatige installatietaken laten uitvoeren.
werking
- alle commando's worden uitgevoerd als gebruiker root. Je hoeft dus geen sudo te gebruiken
- begin het bestand met
#!/bin/bash
- output wordt toegevoegd aan /var/log/cloud-init-output.log.
Om wat structuur in dat logboek aan te brengen, kan je gerust wat ECHO-commando's toevoegen (zie voorbeelden) - als je data van internet haalt (github, bv), zorg dan dat je instance een extern ipadres heeft.
voorbeelden
upgraden
#!/bin/bash echo "################################" echo "# bijwerken repositories en OS #" echo "################################" apt-get update apt-get upgrade -y
- repositories worden bijgewerkt
- OS wordt automatisch bijgewerkt
software installatie
#!/bin/bash echo "####################" echo "#installatie Nginx #" echo "####################" apt-get install nginx y echo "#####################" echo "#firewall aanpassen #" echo "#####################" ufw allow 'Nginx Full'
- nginx wordt geïnstalleerd
- firewall wordt aangepast
github
#!/bin/bash echo "###############################" echo "# downloaden backup programma #" echo "###############################" cd /usr/local/bin git clone https://github.com/kveys/backup.git rm -rf /usr/local/bin/backup/.git echo "###############################" echo "# downloaden backup programma #" echo "###############################" cd /tmp git clone https://github.com/kveys/linux.git mv /tmp/linux/modfinder.sh /usr/local/bin rm -rf /tmp/linux
- backup programma wordt gedownload in /usr/local/bin/
- .git-bestanden worden verwijderd
- Linux script worden gedownload naar /tmp/linux
- modfinder.sh wordt naar /usr/local/bin verplaatst
- /tmp/linux wordt verwijderd
uitgewerkt voorbeelden te vinden in github
beperkingen
eens de userdata opgeslagen, kan je die niet meer bewerken.
Enkel bij het lanceren van de instance of als je een nieuwe versie van je launch template aanmaakt.
Samenvatting
user details zijn een prima manier om specieke types machines te maken:
- maak een launch template aan (bv Nginx installatie)
- kies een machine image die je wilt gebruikt
- voeg alle customisatie toe in user details (software installatie, firewall config, configuratie bestanden, …)
- bewaar je launch template
Nu kan je deze launch template gebruiken om voortaan heel snel (Nginx) servers te bouwen
Wil je daarna een machine bouwen die Nginx nodig heeft (bv Dokuwiki), dan kan je een nieuwe launch template maken, die bovenstaande als template neemt en die uitbreiden met de specifieke Dokuwiki configuratie.
Die launch template gebruik je dan om voortaan Dokuwiki installaties te doen.
meer info
voeg hier linken toe naar verdere uitleg