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.

Es werden folgende Commandline - Programme benötigt:

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

  1. Installieren Sie Ubuntu für Windows.

  2. Aktualisieren Sie Ubuntu für Windows mit:

    sudo apt update && sudo apt full-upgrade
    # restart Ubuntu mit wsl --shutdown (Powershell)
    sudo do-release-upgrade
  3. 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. Sollte diese Datei bereits existieren, bennen Sie diese um oder löschen Sie sie vorher.

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 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 kubectl config view oder wie oben beschrieben mit leocloud get home.

Dann neu einloggen.

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.