|
|
# Deployment Varianten
|
|
|
|
|
|
|
|
|
### Zusätzliche LXC Templates deployen
|
|
|
### Deployment zusätzlichen LXC Templates
|
|
|
|
|
|
FHNW Template Scripts, befinden sich in der Repository [lxc-templates](https://gitlab.fhnw.ch/hsrmas/lxc-templates). Für Neuinstallationen die Installationsanleitung der Repository verwenden (README).
|
|
|
|
|
|
Es wird empfohlen für weitere Template Scipts auf dem lxc-ubuntu Template aufzubauen. Alle Templates befinden sich im Verzeichnis `/usr/share/lxc/templates`. Das neue Template File muss den Präfix `lxc-`haben.
|
|
|
|
|
|
Neues Template erstellen:
|
|
|
|
|
|
```
|
|
|
cd /usr/share/lxc/templates
|
|
|
cp lxc-ubuntu lxc-mytemplate
|
|
|
```
|
|
|
|
|
|
Nach hinzugefügten Template Files muss der LXC Daemon neugestartet werden. Nicht aber bei Änderungen der bestehenden Scripts.
|
|
|
|
|
|
```
|
|
|
systemctl restart lxc
|
|
|
``
|
|
|
|
|
|
Das neu erstellte File lxc-mytemplate mit eigenen Scripts ergänzen. Dazu schreibt man chroot Befehle am Ende des Scripts.
|
|
|
|
|
|
Beispiel für ein Template mit einem Apache Webserver:
|
|
|
|
|
|
```
|
|
|
chroot ${rootfs} apt-get update -y
|
|
|
chroot ${rootfs} apt-get install apache2 -y
|
|
|
chroot ${rootfs} systemctl enable apache2 -y
|
|
|
```
|
|
|
|
|
|
Man muss ausserdem beachten, dass das chroot Filesystem im statischen Zustand ist. Befehle wie `systemctl restart mysql` oder `mysql -u root -ppassword <<< 'CREATE DATABASE MYDB;'` werden nicht funktionieren, weil die Daemons während der Runtime des Scripts nicht laufen.
|
|
|
|
|
|
### Debugging
|
|
|
|
|
|
Beim Debuggen kann es nützlich sein, Errors oder Output (STDERR & STDOUT) der Scripts in ein File zu schreiben. Die Befehle entsprechend mit einer Umleitung versehen:
|
|
|
|
|
|
```
|
|
|
chroot ${rootfs} apt-get install apache2 -y 2>&1 >> /var/logs/mylxc.log
|
|
|
```
|
|
|
|
|
|
### Static Page
|
|
|
|
... | ... | |