Beim Entwickeln von Code für Machine-Learning-Modelle kommt früher oder später der Punkt, an dem Sie aus einem Jupyter-Notebook heraus auf Umgebungsvariablen, Secrets wie Benutzername oder Passwort und Konfigurationseigenschaften zugreifen müssen.
In Kubernetes liegen Secrets und Konfigurationseigenschaften in der "etcd"-Datenbank – aber wie greifen wir aus Kubeflow Notebook Servern darauf zu?
Diese Schritt-für-Schritt-Anleitung zeigt einen Weg, in Notebooks auf Umgebungsvariablen, Secrets und Konfigurationseigenschaften zuzugreifen.

PodDefaults für Kubeflow Notebook Server konfigurieren
Voraussetzungen: Sie verfügen über Grundkenntnisse in Kubernetes und Kubeflow und haben Kubeflow bereits installiert.
Kubeflow unterstützt Sie dabei, Machine-Learning-Pipelines in der Kubernetes Engine zu erproben und auszurollen. Bei der Installation von Kubeflow werden neun Namespaces angelegt:

Der Notebook Server – eine der Kubeflow-Komponenten – wird standardmäßig im Namespace "kubeflow-

Diese Schritte sind nötig:
- Legen Sie Secrets für die Umgebungsvariablen DB_USER und DB_PASSWORD im Namespace kubeflow-
an.

2. Legen Sie eine Datei "db-root-secret.yaml" mit folgendem Inhalt an:

Führen Sie anschließend im Namespace kubeflow-
kubectl apply -n kubeflow-vinay -f db-root-secret.yaml
3. Legen Sie eine ConfigMap mit der Datenbankkonfiguration in einer Datei namens "max_allowed_packet.cnf" an; der Map-Schlüssel lautet "db-config", der Namespace ist kubeflow-

Nach erfolgreichem Abschluss dieser drei Schritte sollte die Kubernetes-Konfiguration so aussehen:

4. Legen Sie eine Datei namens "add-db-info-poddefaults.yaml" mit folgendem Inhalt an:

Führen Sie dann den kubectl-apply-Befehl aus:
kubectl apply -f kubeflow-poddefaults.yaml
Prüfen Sie die Kubernetes-Objekte des Pod Default "add-database-info":

5. Legen Sie einen neuen Notebook Server in Kubeflow an. Im Konfigurations-Dropdown wird das neu hinzugefügte Pod Default angezeigt.

6. Verbinden Sie sich zum Schluss mit Ihrem neuen Notebook Server und führen Sie zur Überprüfung den Beispielcode aus.

Umgebungsvariablen

Die Konfigurationsdatei unter einem gemounteten Pfad
Referenzen:
Die Textversion der Befehle und Dateien aus diesem Blogbeitrag finden Sie zum Download unter https://bit.ly/3k8B08d