Vai al contenuto
100% locale

Manifesto docker-compose a Kubernetes

Converti i servizi docker-compose in manifesti Kubernetes Deployment e Service.

Ingresso
Uscita

Manifesto docker-compose a Kubernetes

Incolla un file docker-compose.yml e questo strumento converte ogni servizio in manifesti Kubernetes pronti all'applicazione: un Deployment e, quando il servizio pubblica una porta, un Service corrispondente. È progettato per gli sviluppatori che spostano uno stack basato su Compose su un cluster, che redigono un Helm chart a mano, o che vogliono semplicemente una prima bozza del YAML invece di scrivere ogni campo da zero.

Imposta uno spazio dei nomi e etichette comuni da applicare a ogni risorsa generata, e scegli quante repliche ogni Deployment deve eseguire. Le porte si convertono in un Service ClusterIP o NodePort a seconda di ciò che scegli, le variabili d'ambiente diventano un ConfigMap o un Secret, e i volumi diventano un PersistentVolumeClaim o un emptyDir, a seconda di come prevedi di eseguire il carico di lavoro. Attiva le sonde di disponibilità e di permanenza per aggiungere un controllo TCP di base sulla prima porta del contenitore, e attiva la generazione di Ingress per esporre i servizi con porte al di fuori del cluster.

I limiti di cpus e memoria di Compose sotto deploy.resources vengono tradotti nel formato di quantità di Kubernetes: 0.5 cpus diventa 500m, 512M diventa 512Mi, e ogni template di pod generato ottiene restartPolicy: Always, l'unico valore che un Deployment accetta. Un servizio senza image, ports o volumes produce comunque un Deployment minimo. Un file senza una sezione services: di livello superiore, o YAML che non si analizza, restituisce un messaggio di errore chiaro che nomina la riga invece di un risultato vuoto.

Tutto viene eseguito nel tuo browser: il file compose non lascia mai il tuo dispositivo, quindi è sicuro incollare la configurazione di produzione. Copia i manifesti generati, scaricali come file .txt, o rinvia il risultato direttamente all'input per continuare a perfezionare lo spazio dei nomi, le etichette o il numero di repliche.

FAQ

Supporta la sintassi lunga di Compose per porte e volumi?
Sì. Insieme a stringhe brevi come "8080:80" o "data:/var/lib/data", le porte e i volumi scritti come mapping (target, published, source) vengono letti anche loro.
Perché ogni pod ottiene restartPolicy: Always?
Il template di pod di un Deployment accetta solo questo valore: un controller, non il runtime del contenitore, decide come reagire a un contenitore fallito, quindi l'impostazione di riavvio di Compose non può essere portata uno-a-uno.
Può generare un Ingress per un servizio senza porta?
No. I manifesti di Service e Ingress vengono creati solo per i servizi che pubblicano almeno una porta in Compose, poiché non c'è nulla su cui instradare il traffico altrimenti.
Cosa succede ai limiti di memoria e CPU?
Il blocco deploy.resources di Compose si converte in quantità di risorse Kubernetes: i valori di CPU decimali diventano millicores (0.5 → 500m) e le unità di memoria come M o G diventano Mi o Gi.
Il mio file docker-compose viene caricato da qualche parte?
No. La conversione viene eseguita completamente nel tuo browser: il tuo file compose e i suoi contenuti non lasciano mai il tuo dispositivo.