Ga naar inhoud
100% lokaal

docker-compose naar Kubernetes manifest

Converteer docker-compose-services naar kant-en-klare Kubernetes Deployment- en Service-manifesten.

Invoer
Uitvoer

docker-compose naar Kubernetes manifest

Plak een docker-compose.yml-bestand en dit hulpmiddel converteert elke service in klaar-om-toe-te-passen Kubernetes-manifesten: een Deployment en wanneer de service een poort publiceert, een overeenkomstige Service. Het is gemaakt voor ontwikkelaars die een op Compose gebaseerde stack naar een cluster verplaatsen, handmatig een Helm-chart opstellen of gewoon een eerste YAML-versie willen in plaats van elk veld helemaal opnieuw te schrijven.

Stel een namespace en gemeenschappelijke labels in die op elke gegenereerde resource worden aangebracht, en kies hoeveel replica's elke Deployment moet uitvoeren. Poorten worden afhankelijk van uw keuze omgezet in een ClusterIP- of NodePort-Service, omgevingsvariabelen worden een ConfigMap of Secret, en volumes worden een PersistentVolumeClaim of emptyDir – wat het beste aansluit bij hoe u de werkbelasting wilt uitvoeren. Schakel readiness- en liveness-controles in om een basiscontrole van TCP-verbindingen toe te voegen voor de eerste poort van de container, en schakel Ingress-generatie in om services met poorten buiten het cluster beschikbaar te maken.

De cpus- en memory-limieten onder deploy.resources in Compose worden omgezet naar Kubernetes' eigen kwantiteitformaat – 0,5 cpus wordt 500m, 512M wordt 512Mi – en elke gegenereerde pod-template krijgt restartPolicy: Always, de enige waarde die een Deployment accepteert. Een service zonder image, poorten of volumes produceert nog steeds een minimale Deployment. Een bestand zonder top-level services:-sectie of ongeldig YAML geeft een duidelijke fout met het regelnummer in plaats van een leeg resultaat.

Alles draait in uw browser: het compose-bestand verlaat uw apparaat nooit, dus het is veilig om producatieconfiguratie in te plakken. Kopieer de gegenereerde manifesten, download ze als .txt-bestand of stuur de uitvoer direct terug naar de invoer om de namespace, labels of replica-aantal verder aan te passen.

FAQ

Ondersteunt het de lange syntaxis van Compose voor poorten en volumes?
Ja. Naast korte strings zoals "8080:80" of "data:/var/lib/data" worden poorten en volumes die als mappings (target, published, source) zijn geschreven, ook ondersteund.
Waarom krijgt elke pod restartPolicy: Always?
Een Deployment pod-template accepteert alleen deze waarde – een controller, niet de container-runtime, bepaalt hoe met een mislukte container moet worden omgegaan, dus Compose's eigen restart-instelling kan niet één-op-één worden overgedragen.
Kan het een Ingress genereren voor een service zonder poort?
Nee. Service- en Ingress-manifesten worden alleen aangemaakt voor services die minstens één poort in Compose publiceren, omdat er anders niets is om verkeer naar toe te routeren.
Wat gebeurt er met geheugen- en CPU-limieten?
Compose's deploy.resources-blok wordt omgezet naar Kubernetes' kwantiteitformaat: decimale CPU-waarden worden millicores (0,5 → 500m) en geheugen-units zoals M of G worden Mi of Gi.
Wordt mijn docker-compose-bestand ergens geüpload?
Nee. Conversie gebeurt volledig in uw browser – uw compose-bestand en de inhoud ervan verlaten uw apparaat nooit.