Machine Learning: Kubeflow richtig einrichten – ein Tutorial

Seite 3: Probe aufs Exempel

Inhaltsverzeichnis

Anschließend lohnt sich ein Test der bisherigen Funktionsweise: Eine erfolgreiche Anmeldung auf Kubeflow zeigt ein funktionierendes System an. Die IP lässt sich mit folgendem Befehl extrahieren:

wait_for_kubeflow_lb_ip

Ist das Ergebnis beispielsweise 10.4.10.4, steht der Besuch auf der URL https://10.4.10.4 an. Es folgt ein Zertifikatshinweis, sofern das vCenter selbst signierte Zertifikate verwendet. Nach der Bestätigung des Risikos zum Erreichen des Log-in-Portals steht im Browser die Anmeldung über E-Mail oder LDAP bereit.

Das Portal bietet zwei Log-in-Optionen zur Auswahl.

Nach der Wahl von LDAP erfolgt die Überprüfung der korrekten Konfiguration des Active Directory.

In der LDAP-Anmeldemaske sind die im AD hinterlegten Daten zu verwenden.

Der Wert für den Namespace lässt sich nach eigenen Wünschen wählen.

Sollte statt der Namespace-Konfiguration eine Fehlermeldung erscheinen, ist die Konfiguration des AD fehlerhaft.

Die Fehlermeldung zeigt an, dass das Passwort falsch ist.

Der Fehlercode und die zugehörige Nachricht geben Hinweise auf die Ursache. Um eine erneute Konfiguration vorzunehmen, ist die Anpassung der Konfigurationsdatei notwendig:

kubectl edit cm -n auth dex

Sobald der Editor die Datei schließt, speichert kubectl die aktuelle Version. Es ist jedoch ein Neustart der Authentifizierungskomponente erforderlich:

kubectl rollout restart deployment dex -n auth

Diese beiden Schritte gilt es zu wiederholen, bis die Installation erfolgreich mit der Konfiguration des Namespace endet.

Bei der folgenden Einrichtung der durch den Autor bereitgestellten Docker-Images hilft das Skript addon-installation.sh, das in drei Schritten arbeitet:

  1. Installation eines NFS-Client-Provisionierers, der sich mit einem NFS-Server verbindet,
  2. Einrichten der vSphere-Erweiterung und
  3. Installation der Kubeflow-Erweiterung

Die Ausführung muss im Installationsverzeichnis erfolgen:

#das Skript hat den Ordner gewechselt. Gehe zurück!
cd $installscriptdir
source addon-installation.sh

Mit drei kurzen Befehlen ist der NFS-Client-Provisioner bereit, seine Aufgabe zu übernehmen. Achtung: An diesem Punkt sind die Werte einzutragen, die dem eigenen NFS-Server entsprechen:

#falls Helm noch nicht installiert ist
install_helm
add_stable_charts_repo

# Sage dem NFS-Client, was die NFS-Server-Daten sind
server_ip="10.0.21.100"
nfs_path="/mnt/Pool1"
install_nfs_client $server_ip $nfs_path

Bevor Entwickler die beiden Applikationen installieren, müssen sie Go, cfssl und cfssljson bereitstellen, um Zertifikate erzeugen zu können:

#Go installieren: https://golang.org/doc/install

wget https://golang.org/dl/go1.15.6.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.15.6.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

#cfssl installieren: https://github.com/kelseyhightower/kubernetes-the-hard-way/blob/master/docs/02-client-tools.md

wget -q --show-progress --https-only --timestamping \
  https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/1.4.1/linux/cfssl \
  https://storage.googleapis.com/kubernetes-the-hard-way/cfssl/1.4.1/linux/cfssljson

chmod +x cfssl cfssljson
sudo mv cfssl cfssljson /usr/local/bin/

Nach der Installation der Applikationen VSphere-und Kubeflow-Extension, ist Kubeflow einsatzbereit:

#die folgende Variable bedarf keiner Veränderung
nfs_client_sc_name="nfs-client"

#Die Installation kann beginnen
download_and_install_vsphere_extension "$nfs_client_sc_name"
install_kubeflow_extension

Um anschließend die ersten Schritte zu testen, empfiehlt sich beispielsweise das Pipelines-Tutorial aus der offiziellen Dokumentation.