Skip to content

Container aufbauen

Konfiguration Puppeteer

Wählen Sie sich zunächst auf dem Container puppeteer-g3 ein und erweitern Sie die ldhost.yaml um den Eintrag des benötigten Containers.

puppeteer-g3
root@puppeteer-g3:~ # cd /etc/logodidact/hiera/custom.d/
root@puppeteer-g3:~/etc/logodidact/hiera/custom.d/ # vi ldhost.yaml

Die Container müssen in einer gültigen yaml-Syntax unterhalb des Abschnitts profile::lxc::host: blockweise nach einem bestimmten Schema eingetragen werden.

Das Schema stellt sich am Beispiel des Containers ctrl folgendermaßen dar:

Schema
1
2
3
4
5
---
profile::lxc::host:
  guests:
    ctrl:
      ensure: running

Info

Verzichten Sie bei der Einrückung der Zeilen auf Verwendung der Tabulatortaste. Einige Editoren interpretieren Tab als eigenes Zeichen und demzufolge führt das zu Interpreter-Fehlern seitens Puppet.

prun-error

Viele Anwendungs-Container besitzen Abhängigkeiten zu weiteren Containern, die Sie natürlich ebenfalls bei Verwendung mit aktivieren müssen. Nachfolgend eine Auflistung der gängisten Anwedungsfälle.

Warnung

Achten Sie stets darauf, dass jede Containerdefinition in der Datei nur einmal definiert wird und keine Einträge doppelt vorkommen.

Nextcloud und Collabora
1
2
3
4
5
6
7
---
  profile::lxc::host:
    guests:
      collabora:
        ensure: running
      nextcloud-g2:
        ensure: running
LD Deploy
1
2
3
4
5
6
7
---
profile::lxc::host:
  guests:
    deploy-g1:
      ensure: running
    nexus-g1:
      ensure: running
LD Kopano
1
2
3
4
5
6
7
---
profile::lxc::host:
  guests:
    kopano-g2:
      ensure: running
    mariadb103:
      ensure: running
LD Relution
1
2
3
4
5
6
7
---
profile::lxc::host:
  guests:
    relution:
      ensure: running
    mariadb105:
      ensure: running
LD Azure Sync
1
2
3
4
5
6
7
---
profile::lxc::host:
  guests:
    ad-sync:
      ensure: running
    ssp:
      ensure: running

Tipp

Eine Auflistung aller Container erhalten Sie in der zugrundeliegenden manpage unter man containers.

Commiten Sie nach den Anpassungen die Änderung ins Git und führen einen prun auf dem ldhost aus. Dadurch holt sich der ldhost die neue Konfiguration vom puppeteer-g3 und triggert den Aufbau der definierten Container an.

Info

Der Aufbau eines neuen Containers kann je nach Serverhardware eine gewisse Zeit in Anspruch nehmen. Rechnen Sie im Schnitt mit etwa 5-10 Minuten bis der Container vollständig zur Verfügung steht.

Aufbau verfolgen

Die folgende Abbildung des ldhost zeigt, wie sich der puppet-Agent mit dem puppeteer-g3 in Verbindung setzt um eine neue Catalog-Datei zu laden. In der Ausgabe erkennt man, dass der Name des Containers ad-sync auftaucht, der aufgebaut werden soll.

ldhost containeraufbau

Wenn der Container grundlegend zur Verfügung steht, kann man sich in diesen mit dem LXC-Befehl lxc-attach -n CONTAINERNAME verbinden und dort den finalen Aufbau mitverfolgen.

root@ldhost:~ # lxc-attach -n containername
root@ad-sync:~ # tail -f /var/log/bootstrap/*