Erste Schritte

Support

Falls Sie Verbesserungsvorschläge oder Anmerkungen bezüglich dieses Tutorials haben oder Sie auf Probleme bei dem Arbeiten mit der ICC stoßen, dann nutzen Sie bitte unseren MS-Teams-Kanal.

Installation von kubectl

Um innerhalb der Informatik Compute Cloud (ICC) auf Container oder Konfigurationsobjekte zugreifen zu können, benötigen Sie das Kommandozeilenwerkzeug kubectl.

Die kubectl-Binärdatei ist in vielen Betriebssystem-Paketmanagern verfügbar. Diese Option ist oft sehr viel einfacher als ein manueller Download- und Installationsprozess. Sie können zur Installation den Anweisungen für Ihr spezifisches Betriebssystem oder Ihren Paket-Manager in der Kubernetes-Dokumentation folgen.

Einloggen in die ICC

Gegen die ICC können sich sämtliche Mitglieder des Departments Informatik, sowie Studierende der Mechatronik, mit ihrer jeweiligen infw-Kennung als Benutzernamen und dem zugehörigen Passwort authentifizieren.

Die ICC stellt ein Anmeldeportal, sowie ein Fortgeschritten:CLI-Tool zur Verfügung, über das autorisierte Personen automatisch eine Konfigurationsdatei für das Arbeiten mit dem Cluster erhalten. Diese generierte Konfiguration ist für 7 Tage gültig! Nach Ablauf der 7 Tage ist eine erneute Anmeldung erforderlich. Die angelegten Clusterresourcen werden mit Ablauf von 90 Tagen nach letztmaligen einloggen gelöscht. Nach erneutem Einloggen beginnen die 90 Tage von vorne.

Folgen Sie im Anschluss den Anweisungen auf der Loginseite des Anmeldeportals. Speichern Sie die generierte Cluster-Konfiguration lokal auf ihrem Computer ab. Anschließend müssen Sie eine Umgebungsvariable KUBECONFIG setzen, damit kubectl die Konfigurationsdatei bei Clusterzugriffen verwendet.

Die Umgebungsvariable KUBECONFIG ist eine Liste von Pfaden zu Konfigurationsdateien. Die Liste ist für Linux und Mac durch Doppelpunkt und für Windows durch Semikolon getrennt. Weitere Informationen finden Sie in der offiziellen Kubernetes-Dokumentation.

Alternativ bieten wir ein Konsolen-Tool zum Login in die ICC an. Weitere Informationen zum CLI-Tool finden Sie unter Fortgeschritten:Einloggen über die Konsole.

Accounts und Spaces

Accounts

Nutzer eines Accounts führen Aktionen innerhalb des Kubernetes-Clusters über API-Anfragen aus, während sie ein bestimmtes Konto verwenden. Ein Nutzer hat kann hierbei zu mehreren Accounts zugeordnet sein. Für jeden Nutzer der ICC wird beim erfolgreichen Anmelden über das Anmeldeportal automatisch ein Account erstellt.

Account-Benutzer haben Zugriff auf Spaces, die zu den von ihnen verwendeten Accounts gehören. Jeder Nutzer eines Accounts hat die Berechtigung zum Auflisten/Erstellen/Löschen von Spaces, die dem jeweiligen Account zugeordnet sind.

Namespaces/Spaces

Die Informatik Compute Cloud verwendet sogenannte Spaces. Spaces sind die virtuelle Darstellung von Kubernetes Namensräumen (namespaces). Kubernetes Namensräumen sind voneinander isolierte Arbeitsbereiche, in denen die Container-Workloads der Nutzer isoliert voneinander laufen können. Jeder Space repräsentiert genau einen Namensraum und gehört i.d.R. genau zu einem Account, welcher dann Eigentümer dieses Spaces ist.

Der Vorteil von Spaces gegenüber reinen Kubernetes Namensräumen ist, dass es jedem Account-Benutzer möglich ist sich alle Spaces zum Account auflisten zu lassen, auf die dieser Zugriff hat (und nicht mehr). Ein weiterer Vorteil ist, dass es so möglich ist anderen Nutzern Zugriff auf den eigenen Space zu gewähren (siehe [Fortgeschritten:Gemeinsames Arbeiten mit Spaces]/docs/fortgeschritten/spaces-zugriff/).

Hat sich der Eigentümer eines Spaces nicht binnen 90 Tagen erneut in die ICC eingeloggt, wird der Space mit den gesamten Inhalt gelöscht.

Damit Projekte mit längerer Laufzeit und fluktuierenden Mitgliedern auf der ICC betrieben werden können, ist es auf Anfrage möglich, einen Space ohne Account-Zuordnung erstellen zu lassen. Wenden Sie sich dazu an das ICC-Team im MS-Teams-Kanal.

Arbeiten mit der ICC

Zugriff auf das Cluster der ICC

Der Zugriff auf das Cluster der ICC ist nur innerhalb des HAW-Netzes möglich.

Ein Zugriff von außerhalb der HAW - wie etwa von zuhause aus - ist nur über eine aktive VPN-Verbindung möglich.

Accounts einsehen

Als Benutzer der ICC können Sie Accounts, auf die Sie Zugriff haben einsehen. Nutzen Sie hierfür folgenden Befehl:

1
2
# View your own accounts as regular account user
kubectl get accounts

Spaces einsehen

1
2
# List all your spaces
kubectl get spaces
Default Namespace

Beim Ausführen des Befehls von eben werden Sie feststellen, dass bereits ein Space zugeordnet zu Ihrem Account angelegt worden ist. Dieser Space beginnt mit Ihrer infw-Kennung gefolgt von dem Suffix -default.

Die ICC erstellt für Sie automatisch diesen Namespace, damit Sie direkt mit dem Arbeiten in der ICC beginnen können. Sollten Sie diesen Space löschen, wird dieser automatisch bei der nächsten Anmeldung über das Anmeldeportal erneut erstellt.

Einen neuen Space erstellen

Wenn Sie einen neuen Space erstellen möchten, wird eine Ressource vom Typ Space benötigt. Um diese anzulegen, erstellen Sie eine Datei space-<space-name>.yaml (beispielsweise: space-projektXYZ.yaml) und speichern Sie diese auf Ihrem Computer ab. Fügen Sie in die eben erstellte Datei folgenden Inhalt:

1
2
3
4
5
6
apiVersion: tenancy.kiosk.sh/v1alpha1
kind: Space
metadata:
  name: <space-name>
spec:
  account: <account-name>
  • Ersetzen Sie <space-name> mit dem gewünschten Namen des neuen Spaces.
  • Ersetzen Sie <account-name> gegen einen Account-Namen auf den Sie Zugriff haben aus. Ihren Account-Namen können sie mit dem Befehl kubectl get accounts einsehen.

Erstellen Sie den Space anschließend mithilfe des Befehls:

1
kubectl apply -f space.yaml

Sie können Ihren neu erstellen Space nun einsehen mit:

1
kubectl get spaces

Einen existierenden Space entfernen

Sie können Spaces auf die Sie mit Ihrem Account Zugriff haben löschen mit dem Befehl:

1
kubectl delete space <space-name>

wobei <space-name> der Name Ihres Spaces ist, den Sie mit kubectl get spaces einsehen können.