Allgemeines
Die Leocloud ist eine bare metal Kubernetes - Installation, die zur Verfügung steht, um Cloud - Anwendungen zu hosten. Die dort eingesetzten Anwendungen stehen in einer eigenen Subdomain von cloud.htl-leonding.ac.at zur Verfügung.
Um Anwendungen in der LeoCloud installieren zu können, müssen Sie ein gültiges Konto der HTL-Leonding haben. Es ist keine eigenene Registrierung notwendig, zur Anmeldung wird das normale Schulkonto verwendet.
Die Commandline - Tools leocloud und kubectl müssen sich in einem Ordner befinden, der im Suchpfad des Betriebssystems liegt.
leocloud
Leocloud für Linux und OSX
um leocloud zu installieren führen Sie im Terminal folgendes aus:
bash -c "$(curl -fsSL https://cloud.htl-leonding.ac.at/html/install.sh)"
leocloud für Windows
Es gibt kein leocloud für Windows. Es wird auch keine leocloud.exe angeboten, weder zum
Herunterladen noch im Archiv der Clients. LeoCloud wird für Linux und macOS ausgeliefert.
Unter Windows arbeiten Sie mit dem Windows-Subsystem für Linux (WSL): Sie installieren dort Ubuntu und darin die Linux-Version von leocloud. Das ist der einzige unterstützte Weg.
-
Installieren Sie Ubuntu für Windows.
-
Aktualisieren Sie Ubuntu für Windows mit:
sudo apt update && sudo apt full-upgrade # restart Ubuntu mit wsl --shutdown (Powershell) sudo do-release-upgrade -
installieren Sie leocloud wie in Leocloud für Linux und OSX beschrieben.
Sollte sich beim Verwenden von leocloud das Browser - Login Fenster nicht automatisch öffnen (z.b. unter Windows mit WSL2) verwenden Sie bei den leocloud Befehlen den zusätzlichen Parameter --display-login-url und öffnen Sie die angezeige URL in einem Browser.
kubectl
kubectl muss laut den Anweisungen unter Install Tools installiert sein. Die korrekte Installation muss durch folgende Eingabe im Terminal überprüft werden:
kubectl
Es sollten jetzt die verfügbaren kubectl Kommandos aufgelistet werden.
kubectl config Datei erstellen
Damit kubectl funktioniert brauchen wir eine gültige Konfigurationsdatei. Diese wird als ~/.kube/config gespeichert.
Eine bereits vorhandene Datei müssen Sie nicht umbenennen oder löschen. Ihre LeoCloud - Einträge werden in die vorhandene Datei eingefügt; alle anderen Cluster, Benutzer und Kontexte, die Sie schon hatten, bleiben unverändert erhalten.
Nach einem erfolgreichen Login ist der Kontext leocloud der aktuelle Kontext. kubectl arbeitet danach ohne weitere Angaben in Ihrem eigenen Namespace.
Für das Zusammenführen wird kubectl selbst verwendet, es muss also installiert sein (siehe kubectl). Fehlt kubectl, bricht der Befehl mit einer entsprechenden Meldung ab und ändert nichts an Ihrer Konfigurationsdatei.
Die Datei enthält ein Zugangs - Token und wird deshalb so angelegt, dass nur Ihr eigenes Benutzerkonto sie lesen kann.
Die Konfigurationsdatei wird erstellt mit:
leocloud auth login
Danach überprüfen wir, ob alles funktioniert:
kubectl get nodes
kubectl config view
In der Ausgabe des letzten Kommandos sehen Sie den Namen Ihres Namespaces. Ab jetzt können sie in ihrem eigenen Namespace with gewohnt mit kubectl arbeiten. Der einzige Unterschied zu minikube ist, dass ihr Namespace - Name nicht "default" ist.
die Sitzung auf diesem Rechner beenden
leocloud auth logout
Damit werden die gespeicherten Zugangsdaten von diesem Rechner entfernt, und aus ~/.kube/config werden genau jene Einträge entfernt, die der Login angelegt hat. Alle anderen Einträge in dieser Datei bleiben bestehen.
|
Important
|
Sie sind damit noch nicht im Browser abgemeldet. Solange die Single - Sign - On - Sitzung im Browser besteht, meldet Sie ein neuer Login sofort wieder als dieselbe Person an, ohne nach dem Passwort zu fragen. Der Befehl zeigt Ihnen dafür die Adresse an, unter der Sie die Browser - Sitzung beenden. Erst danach können Sie sich als jemand anderer anmelden. |
die eigene Homepage erstellen und aufrufen
leocloud get template nginx | kubectl apply -f -
Dies startet das Deployment. Anschließend beobachten Sie den Vorgang mit
kubectl get pods
bis alle Pods "RUNNING" sind.
den eigenen Hostnamen anzeigen
kubectl describe ingress
die eigene Homepage öffnen
Die Homepage öffnet sich mit:
leocloud get home
Dies zeigt Ihnen im Browser die Informationen an, die sie zum Erstellen Ihrer Deployments und Services benötigen.
Dashboard
Das Dashboard wird gestartet mit:
leocloud dashboard
folgen Sie dann den Anleitungen dort.
Happy Leoclouding!
Docker registry
Als Docker Registry können Sie ghcr.io verwenden.
Problembehandlung
Sollten Sie Probleme mit Ihrer Anwendung haben, denken Sie daran: es gibt nur zwei schwierige Dinge beim Entwickeln von Software.
Löschen Sie Ihren Namespace mit kubectl delete namespace MYNAMESPACE wobei sie MYNAMESPACE durch den Namen Ihres Namespaces ersetzen.
Den Namespace finden Sie mit oder wie oben beschrieben mit kubectl config view.leocloud get home
Achtung: damit löschen Sie auch alle Daten in Ihren persistenten Volumes — sofort und unwiderruflich. Das Löschen des Namespaces ist kein Neustart, sondern entfernt den gesamten Inhalt. Es gibt keine Frist, innerhalb derer sich etwas zurückholen ließe. Holen Sie vorher heraus, was Sie behalten wollen — siehe Lebensdauer Ihres Bereichs. Danach neu einloggen; Sie bekommen einen leeren Bereich.
Lebensdauer Ihres Bereichs
Ihr Namespace bleibt nicht dauerhaft bestehen. Er wird entfernt, wenn Ihr Jahrgang die fünfjährige Ausbildung abgeschlossen hat: Wer im Jahr Y eingetreten ist, verliert seinen Bereich beim Aufräumen nach dem Jahr Y + 5. Solange Sie an der Schule sind, bleibt Ihr Bereich bestehen, auch über die Ferien.
Bereiche ohne Matrikelnummer — Lehrende, Seminarteilnehmerinnen und Seminarteilnehmer — sind von dieser Regel nicht erfasst und werden einzeln entschieden.
Für Prüfungszugänge gilt etwas anderes — siehe Prüfungszugänge.
-
Sie werden vorher per E-Mail verständigt, mindestens 7 Tage davor. Die Nachricht nennt den Tag, an dem gelöscht wird.
-
Verständigt wird an die Adresse, die bei Ihrer Anmeldung aus dem Schulkonto übernommen wurde. Es wird keine Adresse aus dem Namen Ihres Namespaces gebildet.
-
Früher als angekündigt wird nicht gelöscht. Später kann es werden.
-
der gesamte Namespace: alle Deployments, Services und Ingresses,
-
alle Daten in den persistenten Volumes,
-
Ihr Zugang. Eine noch vorhandene
~/.kube/configfunktioniert danach nicht mehr.
Die Daten in den persistenten Volumes werden in dem Moment vernichtet, in dem der Bereich gelöscht wird. Es gibt keine Aufbewahrungsfrist — weder 30 Tage noch eine kürzere. Danach liegt am Fileserver nichts mehr, was noch herausgegeben werden könnte, und niemand kann die Daten zurückholen, auch die Administration nicht.
Dasselbe gilt, wenn Sie selbst löschen: kubectl delete pvc und kubectl delete namespace
vernichten die Daten sofort und endgültig.
Sichern Sie deshalb selbst, was Sie behalten wollen, solange Ihr Bereich noch besteht. Der folgende Befehl ist die einzige Rettung, die es gibt. Aus einem laufenden Pod geht das zum Beispiel so:
kubectl cp MYNAMESPACE/MYPOD:/pfad/im/pod ./ziel-am-eigenen-rechner
Prüfungszugänge
Für praktische Prüfungen gibt die Schule eigene Zugänge aus. Ihr Benutzername beginnt mit test,
danach folgen zwei Buchstaben für den Prüfungssatz und die Katalognummer — zum Beispiel testee01.
Für diese Zugänge gilt die Regel im vorigen Abschnitt nicht.
Ein Prüfungsbereich wird 24 Stunden nach seiner Erstellung gelöscht. Der Zeitpunkt wird beim Anlegen am Namespace vermerkt und kann abgelesen werden:
kubectl get namespace MYNAMESPACE -o jsonpath='{.metadata.annotations.cloud\.htl-leonding\.ac\.at/delete-after}'
Wer sich ein zweites Mal anmeldet — weil die Konfigurationsdatei verloren gegangen ist oder ein anderer Rechner verwendet wird — bekommt denselben Bereich zurück, mit allem, was darin schon läuft. Es wird dabei nichts gelöscht und nichts neu angelegt. Die 24 Stunden verlängern sich dadurch aber auch nicht: sie laufen ab dem ersten Anlegen.
Kommt die Anmeldung genau in dem Moment, in dem der Bereich gerade entfernt wird, wird sie abgelehnt mit der Aufforderung, den Befehl in ein paar Sekunden noch einmal auszuführen. Der nächste Versuch legt dann einen neuen, leeren Bereich an.
-
Es wird nicht vorher verständigt. Ein Prüfungszugang hat keine E-Mail-Adresse, und es wird auch keine gebildet.
Holen Sie also heraus, was Sie behalten wollen, bevor die 24 Stunden um sind.
Anmerkungen
Für das Arbeiten mit der LeoCloud sind Grundkenntnisse im Cloud-Computing und Kubernetes erforderlich. Es ist nicht erwünscht die LeoCloud zur Software - Entwicklung zu verwenden. Zum Erstellen und Debuggen einer Anwendung muss zuerst minikube verwendet werden. LeoCloud ist 1:1 kompatibel mit minikube. Erst wenn die Anwendung problemlos auf minikube funktioniert kann sie auf der LeoCloud eingespielt werden. Wenn Sie Fragen zur LeoCloud haben ist es zwingend erforderlich, dass vorher die Anwendung, um die es geht, auf minikube problemlos läuft und diese erfolgreich vorgeführt werden kann. Erst danach können angebliche Probleme mit der LeoCloud behandelt werden.
Download as Pdf
Diese Dokument steht auch als user-manual.pdf zur Verfügung.