Skip to content

Latest commit

 

History

History

services

Services

Scripts welche System Dienste wie z.B. Docker, Kubernetes, NFS etc. installieren.

Bestimmte Scripts haben Abhängigkeiten. Z.B. muss vor share.sh das Script storage.sh ausgeführt werden.

Dient zum Einrichten vom Persistenten Speicher, welcher nicht in der VM gespeichert wird. I.d. Regel das Verzeichnis /home/ubuntu/data.

Einbindung in Scripts

runcmd:
 - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/storage.sh | bash -

Voraussetzungen

Installiert und Konfiguriert den VPN Zugriff. Siehe Einbinden der VPN Clients.

Einbindung in Scripts

runcmd:
 - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/storage.sh | bash -
 - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/vpn.sh | bash -

Voraussetzungen

  • storage.sh Script wurde vorgängig ausgeführt.
  • WireGuard Konfigurationen und Gateway. Siehe VPN.

Stellt einen SMB Share, i.d. Regel das Verzeichnis /home/ubuntu/data als Share \\<ip vm>\data zu Verfügung.

Ermöglicht es Windows User Dateien auf der Linux VM abzulegen oder zu verändern.

Einbindung in Scripts

runcmd:
 - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/storage.sh | bash -
 - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/vpn.sh | bash -
 - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/share.sh | bash -

Voraussetzungen

  • storage.sh Script wurde vorgängig ausgeführt.

Erzeugt eine "Willkommenswebseite" mit weiteren Anweisungen für die Benutzer der VM.

Ausserdem wird das Verzeichnis /home/ubuntu/data als http://<ip-vm>/data zur Verfügung gestellt.

Diese Willkommensseite kann mittels folgenden Dateien angepasst werden:

  • /home/ubuntu/README.md - Introseite
  • /home/ubuntu/ACCESSING.md - Informationen wie auf die VM zugegriffen werden kann. z.B. mittels SSH.
  • /home/ubuntu/SERVICES.md - Evtl. Services inkl. URLs welche in der VM zu Verfügung stehen.

Diese Dateien können z.B. mittels dem Cloud-init Script erzeugt werden. Siehe z.B. base.yaml.

Einbindung in Scripts

write_files:
 - content: |
    # Willkommen
   path: /home/ubuntu/README.md
   permissions: '0644' 
runcmd:
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/storage.sh | bash -
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/vpn.sh | bash -
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/share.sh | bash -
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/intro.sh | bash -

Voraussetzungen

  • storage.sh Script wurde vorgängig ausgeführt.

Bindet Repositories, welche für LernMAAS erstellt wurden, ein.

Einbindung in Scripts

runcmd:
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/storage.sh | bash -
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/vpn.sh | bash -
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/share.sh | bash -
  - sudo su - ubuntu -c "curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/repository.sh | bash -s https://github.com/tbz-it/M122"
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/intro.sh | bash -

Voraussetzungen

  • Vorgängig müssen die Services/Script laut config.yaml bzw. deren LernCloud Entsprechungen ausgeführt werden.

Installiert eine K3s Umgebung, ein Lightweight Kubernetes.

K3s stammt von Rancher, welche von SuSE aufgekauft wurde.

Um eine homogene Umgebung zur Verfügung zu stellen, sollte statt K3s - MicroK8s verwendet werden.

Voraussetzungen

  • Vorgängig müssen die Services/Script laut config.yaml bzw. deren LernCloud Entsprechungen ausgeführt werden.

Installiert eine Kubernetes Umgebung basierend auf MicroK8s.

Sollte anstelle von k3.sh verwendet werden.

Einbindung in Scripts

runcmd:
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/storage.sh | bash -
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/vpn.sh | bash -
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/share.sh | bash -
  - curl -sfL https://raw.githubusercontent.com/mc-b/lerncloud/main/services/microk8s.sh | bash -
  - microk8s enable ingress
  - microk8s kubectl apply -f https://raw.githubusercontent.com/mc-b/duk/master/addons/dashboard-skip-login-no-ingress.yaml 
  - microk8s kubectl apply -f https://raw.githubusercontent.com/mc-b/lernkube/master/data/DataVolume.yaml

Installiert die MicroK8s Umgebung und zusätzlich (letzte drei Zeilen):

  • den Ingress Dienst (Reverse Proxy) nginx.
  • das Kubernetes Dashboard. Erreichbar mittels `https://:8443
  • richtet PersistentVolumes und Claims ein.

Hinweis: da der Port 80 und 443 vom Ingress Dienst belegt ist, führt die Verwendung von intro.sh zu Port Konflikten und wurde deshalb weggelassen.

docker.sh und k8s*.sh

Sind Spezial Scripte für eine Kubernetes Umgebung mit unterliegendem Docker.

Da diese Zusammenstellung von Kubernetes per 31.12.21 als "deprecated" gekennzeichnet wurde, sollte diese nicht mehr verwendet werden.

Die Scripts können ohne Vorwarnung gelöscht werden.