Auf dem MAAS Master sollte eine gemeinsame Datenablage eingerichtet werden. Dann sind die Dateien die auf den VMs im $HOME/data Verzeichnis gespeichert werden, nach dem Löschen der VM noch auf dem MAAS Master vorhanden.
Ausserdem können auf der gemeinsamen Datenablage WireGuard /data/config/wireguard Zugriffsdateien und gecachte Container Images /data/templates/cr-cache abgelegt werden.
cat <<%EOF% | sudo tee /etc/exports
# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
# Storage RW
/data/storage 172.18.0.0/16(rw,sync,no_subtree_check,all_squash,anonuid=1000,anongid=1000)
/data/storage 10.244.0.0/16(rw,sync,no_subtree_check,all_squash,anonuid=1000,anongid=1000)
# Templates RO
/data/templates 172.18.0.0/16(ro,sync,no_subtree_check)
/data/templates 10.244.0.0/16(ro,sync,no_subtree_check)
# Config RO
/data/config 172.18.0.0/16(ro,sync,no_subtree_check)
/data/config 10.244.0.0/16(ro,sync,no_subtree_check)
%EOF%
sudo exportfs -a
sudo systemctl restart nfs-kernel-server
Hinweis nach erfolgter Installation jeweils einer auf Kubernetes basierten Umgebung lohnt es sich mittels ccopy die Container Images nach /data/template/cr-cache/<Module> zu exportieren. Dann müssen bei erneuter Installation nicht mehr alle Container Images über das Internet geholt werden, sondern nur aus dem internen Netz von cr-cache.
Konfiguration
ACHTUNG Preseed Datei erst nach der Installation der Worker Nodes nach /var/snap/maas/current/preseeds kopieren. Ansonsten werden die Worker Nodes nicht sauber als KVM host installiert, bzw. die Installationsroutine läuft endlos.
Für die automatische Installation von Software auf die VMs wird eine Kombination von MAAS Preseed und Cloud Init verwendet.
MAAS Preseed installiert dabei das Betriebssystem und führt u.a. Tests der Hardware durch. In diesem Arbeitsgang ist die eigentliche VMs nur gemountet und nicht gestartet!
Cloud Init ist ein Standard für die Initialisierung von VMs in der Cloud und wird u.a. von Microsoft Azure unterstützt. In diesem Arbeitsgang ist das Betriebssystem installiert und die VMs gestartet.
lernmaas stellt eine Preseed Datei zur Verfügung, welche auf den MAAS Master kopiert werden muss. Diese Preseed Datei clont lernmaas und kopiert die Cloud Init Initialisierungsdatei cloud.cfg.d/99_lernmaas.cfg auf die VM. Diese Datei, bzw. services/cloud-init.sh installiert die eigentliche Software mittels dem Cloud-Init Prozess.
Ab der nächsten Installation einer VM mit Ubuntu wird jetzt services/cloud-init.sh durchlaufen.
Was installiert wird, bestimmt der Hostname der mit den Einträgen in config.yaml übereinstimmen muss.
Als Alternative kann Juju verwendet werden. Damit lassen sich Kubernetes Cluster oder mehrere VMs mit Software, z.B. 24 VMs mit Apache, installieren.
Worker Nodes
Die Worker Nodes sind so zu Konfigurieren, dass sie via Netzwerk (PXE Boot) booten.
Anschliessend sind die zwei Installationsroutinen durchzuführen.
MAAS Enlistment (auf Bild klicken, damit YouTube Film startet)
MAAS Commission (auf Bild klicken, damit YouTube Film startet)
Die neue Maschine anklicken und rechts oben mittels Take action -> Deploy die Software deployen (Ubuntu 18.04). Um auf der Maschine nachher virtuelle Maschinen erstellen zu können ist die Checkbox Register as MAAS KVM host zu aktivieren.
Nach der Installation steht die Maschine unter KVM zur Verfügung und es lassen sich neue virtuelle Maschinen darauf erstellen (Compose).
Source: https://github.com/mc-b/lernmaas/blob/master/doc/MAAS/Install.md
Installation MAAS
Für eine detailierte Installation, siehe MAAS oder Bare Metal to Kubernetes-as-a-Service - Part 1.
Master
Ubuntu als Desktop aufsetzen. Dabei genügt die minimale Version.
Fixe IP-Adresse vergeben, z.B. über Einstellungen, Software Update durchführen und MAAS Installieren
MAAS Admin User erstellen. Als Username
ubuntu
verwenden.MAAS Admin User Name
ubuntu
als Umgebungvariable setzenSSH-Key erstellen, den brauchen wir nachher
Browser starten und UI von MAAS aufrufen http://localhost:5240
cat ~/.ssh/id_rsa.pub
eintragenServer frisch starten, ansonsten werden die Änderungen nicht übernommen.
MAAS Login und Tests
Einlogen für CLI Access
Mögliche Befehle anzeigen
Erstelle Maschinen im JSON Format ausgeben:
Gemeinsame Datenablage (optional)
Auf dem MAAS Master sollte eine gemeinsame Datenablage eingerichtet werden. Dann sind die Dateien die auf den VMs im $HOME/data Verzeichnis gespeichert werden, nach dem Löschen der VM noch auf dem MAAS Master vorhanden.
Ausserdem können auf der gemeinsamen Datenablage WireGuard
/data/config/wireguard
Zugriffsdateien und gecachte Container Images/data/templates/cr-cache
abgelegt werden.Als gemeinsame Datenablage wird NFS verwendet.
Installation NFS
Shared Folder anlegen
Zugriff für Subnetze (192.168.2.0 = eigenes Subnets, 10.244.0.0 = Kubernetes/flannel) freischalten
Hinweis nach erfolgter Installation jeweils einer auf Kubernetes basierten Umgebung lohnt es sich mittels
ccopy
die Container Images nach/data/template/cr-cache/<Module>
zu exportieren. Dann müssen bei erneuter Installation nicht mehr alle Container Images über das Internet geholt werden, sondern nur aus dem internen Netz voncr-cache
.Konfiguration
ACHTUNG Preseed Datei erst nach der Installation der Worker Nodes nach
/var/snap/maas/current/preseeds
kopieren. Ansonsten werden die Worker Nodes nicht sauber als KVM host installiert, bzw. die Installationsroutine läuft endlos.Für die automatische Installation von Software auf die VMs wird eine Kombination von MAAS Preseed und Cloud Init verwendet.
MAAS Preseed installiert dabei das Betriebssystem und führt u.a. Tests der Hardware durch. In diesem Arbeitsgang ist die eigentliche VMs nur gemountet und nicht gestartet!
Cloud Init ist ein Standard für die Initialisierung von VMs in der Cloud und wird u.a. von Microsoft Azure unterstützt. In diesem Arbeitsgang ist das Betriebssystem installiert und die VMs gestartet.
lernmaas stellt eine Preseed Datei zur Verfügung, welche auf den MAAS Master kopiert werden muss. Diese Preseed Datei clont lernmaas und kopiert die Cloud Init Initialisierungsdatei cloud.cfg.d/99_lernmaas.cfg auf die VM. Diese Datei, bzw. services/cloud-init.sh installiert die eigentliche Software mittels dem Cloud-Init Prozess.
Preseed Datei und Hilfsscripts kopieren:
Ab der nächsten Installation einer VM mit Ubuntu wird jetzt services/cloud-init.sh durchlaufen.
Was installiert wird, bestimmt der Hostname der mit den Einträgen in config.yaml übereinstimmen muss.
Als Alternative kann Juju verwendet werden. Damit lassen sich Kubernetes Cluster oder mehrere VMs mit Software, z.B. 24 VMs mit Apache, installieren.
Worker Nodes
Die Worker Nodes sind so zu Konfigurieren, dass sie via Netzwerk (PXE Boot) booten.
Anschliessend sind die zwei Installationsroutinen durchzuführen.
MAAS Enlistment (auf Bild klicken, damit YouTube Film startet)
MAAS Commission (auf Bild klicken, damit YouTube Film startet)
Die neue Maschine anklicken und rechts oben mittels
Take action
-> Deploy die Software deployen (Ubuntu 18.04). Um auf der Maschine nachher virtuelle Maschinen erstellen zu können ist die CheckboxRegister as MAAS KVM host
zu aktivieren.Nach der Installation steht die Maschine unter KVM zur Verfügung und es lassen sich neue virtuelle Maschinen darauf erstellen (Compose).