dstack-Konfiguration und Deployment einer Dev-Umgebung auf centron-Servern

dstack ist eine Open-Source-Alternative zu Kubernetes und Slurm und wurde entwickelt, um die KI-Entwicklung und das Ausrollen von Anwendungen über verschiedene Cloud-Anbieter hinweg zu vereinfachen. Es nimmt einen Großteil der Infrastrukturarbeit ab, indem es eine leicht bedienbare Oberfläche und deklarative YAML-Dateien bereitstellt. So können sich Entwickler auf das Bauen und Skalieren ihrer Anwendungen konzentrieren, statt von operativen Aufgaben ausgebremst zu werden. Für Machine-Learning-Pipelines, verteilte Workloads und skalierbares Hosting ist dstack bestens geeignet: Es integriert sich nahtlos in Cloud-Umgebungen und unterstützt dynamische Ressourcenskalierung, persistente Speicherung sowie die sichere Veröffentlichung von Services.

In dieser Anleitung lernst du die verfügbaren Konfigurationsmöglichkeiten von dstack kennen. Anschließend installierst und startest du den dstack-Server und setzt zum Abschluss eine Dev-Umgebung gemeinsam mit dstack auf centron-Servern auf.

dstack-Konfigurationen

Dev environment

dstack ermöglicht dir interaktive Entwicklungsumgebungen, die auf Desktop-IDEs ausgelegt sind. Diese Umgebungen bieten Entwicklern die Freiheit, effizient zu programmieren, zu debuggen und zu testen – während sie gleichzeitig die Leistung von Cloud-Ressourcen nutzen. Mit Dev-Environments bleiben Team-Setups konsistent, und der Entwicklungsprozess wird schneller, weil lokale Abhängigkeitsprobleme vermieden werden.

Tasks

Tasks in dstack dienen dazu, Jobs zu automatisieren und zeitlich zu planen, wodurch sie für viele Einsatzzwecke sehr flexibel sind. Ob Daten-Workflows verarbeitet, Batch-Jobs ausgeführt oder regelmäßige Aufgaben geplant werden sollen – Tasks übernehmen das zuverlässig. Sie unterstützen außerdem verteilte Rechenlasten und können auch für Webanwendungen genutzt werden, was sie zu einem zentralen Baustein für schlanke Automatisierung und Workflows macht.

Services

Mit dstack lassen sich langlebige Services unkompliziert bereitstellen und betreiben. Services eignen sich ideal zum Hosting von APIs, Webservern oder Machine-Learning-Modellen und sorgen dafür, dass diese dauerhaft verfügbar und performant bleiben.

Fleets

Fleets erlauben es Entwicklern, Ressourcen-Cluster nahtlos über Cloud- oder On-Premise-Umgebungen hinweg zu verwalten und zu skalieren. Sie sind auf dynamische Skalierung ausgelegt und passen die Ressourcenverteilung automatisch an den aktuellen Bedarf an, um eine optimale Effizienz zu gewährleisten.

Virtuelle Umgebung erstellen

In diesem Abschnitt erstellst du auf deinem System eine virtuelle Umgebung und bereitest alles für das Deployment einer dstack-Dev-Umgebung vor.

Installiere das venv-Paket.

$ apt install python3-venv -y

Erstelle eine virtuelle Umgebung.

$ python3 -m venv dstack-env

Aktiviere die virtuelle Umgebung.

$ source dstack-env/bin/activate

dstack installieren

Hier installierst du alle notwendigen Abhängigkeiten für dstack und startest den dstack-Server, damit du die Dev-Umgebung im späteren Verlauf bereitstellen kannst.

Lege ein Verzeichnis an und wechsle hinein, um die Backend-Datei abzulegen.

$ mkdir -p ~/.dstack/server

Erstelle eine backend-yml-Datei, die centron als Provider festlegt.

$ nano ~/.dstack/server/config.yml

Kopiere die folgende Konfiguration und füge sie ein.

projects:

* name: main
  backends:

  * type: centron
    creds:
    type: api_key
    api_key:

Rufe deinen centron-API-Key ab.

Speichere die Datei und schließe sie.

Installiere dstack.

$ pip install "dstack[all]" -U

Starte den dstack-Server.

Notiere dir die URL, unter der der dstack-Server läuft, sowie das Token aus der Ausgabe.

Richte die CLI auf den dstack-Server aus.

$ dstack config --url  
--project main 
--token

Dev-Umgebung deployen

In diesem Abschnitt führst du die Konfiguration für eine dstack-Dev-Umgebung aus und stellst sie auf einem centron-Server bereit.

Bleibe in der virtuellen Umgebung dstack-env, erstelle dann ein Verzeichnis und wechsle hinein.

$ mkdir quickstart && cd quickstart

Initialisiere das Verzeichnis.

Erstelle eine YAML-Datei, die die dstack-Dev-Umgebung beschreibt.

Kopiere die folgende Konfiguration und füge sie ein.

type: dev-environment
name: vscode

python: '3.11'
ide: vscode
spot_policy: auto

Diese Konfiguration richtet eine Dev-Umgebung mit dem Namen vscode ein, nutzt Python 3.11 und ist für interaktives Arbeiten in Visual Studio Code ausgelegt. Ressourcen werden automatisch bereitgestellt – je nach Verfügbarkeit und Preis als Spot- oder On-Demand-Instanzen.

Du kannst die Konfiguration erweitern, um zusätzliche Tools, Libraries oder Abhängigkeiten vorab zu installieren, damit die Umgebung noch besser vorbereitet ist.

Speichere die Datei und schließe sie.

Wende die Konfiguration an.

$ dstack apply -f .dstack.yaml

Die Einrichtung kann bis zu 10 Minuten dauern. Den Fortschritt kannst du im centron Customer Portal verfolgen, indem du den Status der Serverbereitstellung prüfst, die beim Anwenden der Konfiguration automatisch gestartet wird.

Öffne die Umgebung in der VS-Code-Desktop-App.

vscode://vscode-remote/ssh-remote+vscode/workflow

Fazit

Mit dstack und centron wird das Erstellen und Bereitstellen von Entwicklungsumgebungen besonders unkompliziert, sodass Entwickler sich auf das Bauen und Skalieren ihrer Anwendungen konzentrieren können, statt sich mit Infrastrukturkomplexität herumzuschlagen. Durch diese Anleitung hast du gelernt, dstack zu konfigurieren, den Server zu starten und eine Dev-Umgebung passend zu deinem Workflow auszurollen. Egal ob für Machine-Learning-Workflows, verteiltes Rechnen oder skalierbares Hosting – dstack bietet eine robuste Möglichkeit, den Entwicklungsprozess zu vereinfachen. Visit the dstack documentation

Quelle: vultr.com

Jetzt 200€ Guthaben sichern

Registrieren Sie sich jetzt in unserer ccloud³ und erhalten Sie 200€ Startguthaben für Ihr Projekt.

Das könnte Sie auch interessieren:

Moderne Hosting Services mit Cloud Server, Managed Server und skalierbarem Cloud Hosting für professionelle IT-Infrastrukturen

TensorRT und ONNX: High-Performance-ML auf NVIDIA-GPUs

AI/ML, Tutorial
VijonaHeute um 12:58 Uhr Machine-Learning-Frameworks, Modell-Tools und Deployment-Strategien in der ML-Pipeline Machine-Learning-Frameworks, spezialisierte Modell-Tools und Deployment-Lösungen übernehmen jeweils unterschiedliche Aufgaben innerhalb eines Machine-Learning-(ML)-Workflows. In jeder Phase – von der Modellerstellung über…