Zum Inhalt springen
100% lokal

docker-compose zu Kubernetes Manifest

Konvertieren Sie docker-compose-Services in einsatzbereite Kubernetes Deployment- und Service-Manifeste.

Eingabe
Ausgabe

docker-compose zu Kubernetes Manifest

Fügen Sie eine docker-compose.yml-Datei ein und dieses Tool konvertiert jeden Service in einsatzbereite Kubernetes-Manifeste: ein Deployment und einen passenden Service für jeden Port. Es wurde für Entwickler entwickelt, die einen auf Compose basierenden Stack in ein Cluster verschieben, ein Helm-Chart von Hand erstellen oder einfach einen ersten YAML-Entwurf möchten, statt jedes Feld von Grund auf zu schreiben.

Legen Sie einen Namespace und allgemeine Beschriftungen fest, um sie auf jede generierte Ressource anzuwenden, und wählen Sie, wie viele Replicas jedes Deployment ausführen soll. Ports werden je nach Ihrer Wahl in einen ClusterIP- oder NodePort-Service konvertiert, Umgebungsvariablen werden zu einer ConfigMap oder einem Secret, und Volumes werden zu einem PersistentVolumeClaim oder emptyDir – je nachdem, wie Sie die Workload ausführen möchten. Aktivieren Sie Readiness- und Liveness-Prüfungen, um eine grundlegende TCP-Überprüfung für den ersten Port des Containers hinzuzufügen, und aktivieren Sie Ingress-Generierung, um Port-tragende Services außerhalb des Clusters bereitzustellen.

Die cpus- und memory-Limits unter deploy.resources in Compose werden in Kubernetes' eigenes Menge-Format konvertiert – 0,5 cpus wird 500m, 512M wird 512Mi – und jede generierte Pod-Vorlage erhält restartPolicy: Always, der einzige Wert, den ein Deployment akzeptiert. Ein Service ohne Image, Ports oder Volumes erzeugt trotzdem ein minimales Deployment. Eine Datei ohne top-level services:-Abschnitt oder YAML, das nicht analysiert werden kann, gibt einen aussagekräftigen Fehler mit der Zeilennummer aus, statt ein leeres Ergebnis zu liefern.

Alles läuft in Ihrem Browser: Die Compose-Datei verlässt Ihr Gerät nie, daher ist es sicher, Produktionskonfiguration einzufügen. Kopieren Sie die generierten Manifeste, laden Sie sie als .txt-Datei herunter oder senden Sie die Ausgabe direkt zurück in die Eingabe, um Namespace, Beschriftungen oder Replica-Anzahl weiter zu verfeinern.

Häufige Fragen

Unterstützt es die lange Syntax von Compose für Ports und Volumes?
Ja. Neben kurzen Zeichenketten wie "8080:80" oder "data:/var/lib/data" werden auch Ports und Volumes, die als Mappings (target, published, source) geschrieben sind, gelesen.
Warum erhält jeder Pod restartPolicy: Always?
Eine Deployment-Pod-Vorlage akzeptiert nur diesen Wert – ein Controller, nicht die Container-Laufzeit, entscheidet, wie auf einen fehlgeschlagenen Container reagiert werden soll, daher kann die Compose-Einstellung restart nicht eins-zu-eins übergeben werden.
Kann es einen Ingress für einen Service ohne Port generieren?
Nein. Service- und Ingress-Manifeste werden nur für Services erstellt, die mindestens einen Port in Compose veröffentlichen, da sonst nichts vorhanden ist, wohin der Verkehr geleitet werden kann.
Was passiert mit den Speicher- und CPU-Limits?
Composes deploy.resources-Block wird in Kubernetes' Menge-Format konvertiert: Dezimal-CPU-Werte werden zu Millicores (0,5 → 500m) und Speichereinheiten wie M oder G werden zu Mi oder Gi.
Wird meine docker-compose-Datei irgendwo hochgeladen?
Nein. Die Konvertierung erfolgt vollständig in Ihrem Browser – Ihre Compose-Datei und deren Inhalte verlassen Ihr Gerät nie.