Skip to content

Container löschen

Um einen Container zu zerstören muss dieser zunächst aus der ldhost.yaml entfernt werden. Verbinden Sie sich dafür in den Container puppeteer-g3 und navigieren in das Verzeichnis, wo die YAML-Konfigurationsdateien der Container und des ldhost vorliegen.

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

In der ldhost.yaml den gewünschten Container entfernen. Dazu die Zeilen des Containernamens und des Containerstatus löschen. Hier am Beispiel des Containers ad-sync

1
2
3
4
profile::lxc::host:
  guests:
-   ad-sync:
-     ensure: running

Info

Das Entfernen einer Container-Definition in der ldhost.yaml führt nicht zu einer automatisierten Löschung eines Containers auf dem Host-System.

Die Änderung speichern. Im Anschluss muss in puppet noch der registrierte puppet-agent des zu löschenden Containers entfernt werden.

root@puppeteer-g3:~ # puppet-master-remove-client ad-sync

Pflegen Sie danach die Änderung wieder in das Versionssystem Git ein.

root@puppeteer-g3:~/etc/logodidact/hiera/custom.d/ git add .
root@puppeteer-g3:~/etc/logodidact/hiera/custom.d/ git commit -am "container ad-sync entfernt"

Nun wieder zurück in den ldhost wechseln und dort den Ziel-Container zerstören. Das Datenverzeichnis wird damit unter /var/lib/lxc/<containername> gelöscht.

1
2
3
4
5
root@ldhost:~ # lxc-stop -n ad-sync
root@ldhost:~ # lxc-destroy -n ad-sync

# Optional lxc.data bereinigen
root@ldhost:~ # rm -rf /var/lib/lxc.data/ad-sync

Warnung

Einige Container speichern ihre Anwendungsdaten zusätzlich in einem separaten Verzeichnis unter /var/lib/lxc.data/<containername> ab. Vergessen Sie nicht dieses manuell zu entfernen.

(Optional) Lets Encrypt Zertifikat entfernen

In der Regel besitzt jeder von LogoDIDACT öffentliche freigeschaltete Dienst bzw. Modul ein signiertes Lets Encrypt Zertifikat (LE). Mit der vollständigen Löschung des Containers wird dieses nicht länger benötigt. Dazu im puppeteer-g3 in die LE-Umgebung wechseln und das zugrundliegende Zertifikat entfernen.

root@puppeteer-g3:~ # sle

# Zertifikate anzeigen
le-acme@puppeteer-g3:~ $ acme list

# Zertifikat löschen
le-acme@puppeteer-g3:~ $ acme remove <containername>.schulkuerzel.logoip.de

# LE-Zertifikatsordner entfernen
le-acme@puppeteer-g3:~ $ rm -rf /data/le/acme.sh/certs/nextcloud.sbe-bfh-cloud07.logoip.de_ecc

Damit ist das LE-Zertifikat gelöscht.

(Optional) Externen Zugriff deaktivieren

Sofern das Modul im Proxy freigeschaltet worden ist können die Freischaltungen ebenfalls gelöscht werden.

root@puppeteer-g3:~ # cd /etc/logodidact/hiera/custom.d/rproxy-ext.yaml
root@puppeteer-g3:~/l/hiera/custom.d # vi rproxy-ext.yaml
ld_rproxy2::access: [kopano-g2, relution, idp, ctrl]