Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

PodDefaults für Kubeflow Notebook Server konfigurieren

By Vinay GandhiAug 25, 20202 min read

Diese Seite ist auch in English, Español, Français, Italiano, 日本語 und Português verfügbar.

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-" installiert.

Diese Schritte sind nötig:

  1. 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- folgenden Befehl aus:

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

Set Up Your Notebooks \ \ Getting started with Jupyter notebooks on Kubeflow Your Kubeflow deployment includes services for spawning and managing…\ \ www.kubeflow.org

kubeflow/kubeflow \ \ We need a way to inject common data (env vars, volumes) to pods (e.g. notebooks). See issue. K8s has PodPreset resource…\ \ github.com

Inject Information into Pods Using a PodPreset \ \ FEATURE STATE: Kubernetes v1.6 [alpha] This page shows how to use PodPreset objects to inject information like…\ \ kubernetes.io

An Introduction to Kubernetes Secrets and ConfigMaps \ \ Kubernetes has two types of objects that can inject configuration data into a container when it starts up: Secrets and…\ \ opensource.com