Sări la conținut
Complet local

manifest docker-compose la Kubernetes

Convertiți serviciile docker-compose în manifesturi Kubernetes Deployment și Service.

Intrare
Ieșire

manifest docker-compose la Kubernetes

Lipiți un fișier docker-compose.yml și acest instrument convertește fiecare serviciu în manifeste Kubernetes gata de aplicat: un Deployment și, atunci când serviciul publică un port, un Service corespunzător. A fost construit pentru dezvoltatori care mută o stivă bazată pe Compose pe un cluster, elaborând manual o diagramă Helm sau dorind pur și simplu o primă trecere la YAML în loc să scrie fiecare câmp de la zero.

Definiți un spațiu de nume și etichete comune pentru a timbra fiecare resursă generată, și alegeți câte replici ar trebui să ruleze fiecare Deployment. Porturile se convertesc la un Service ClusterIP sau NodePort în funcție de ceea ce alegeți, variabilele de mediu devin un ConfigMap sau un Secret, iar volumele devin un PersistentVolumeClaim sau un emptyDir — orice se potrivește cu modul în care planuiți să rulați sarcina. Activați sonde de disponibilitate și vivacitate pentru a adăuga o verificare TCP de bază pe primul port al containerului, și activați generarea Ingress pentru a expune serviciile care utilizează porturi în afara clusterului.

Limitele de cpus și memory din secțiunea deploy.resources a Compose sunt traduse în propriul format de cantitate al Kubernetes — 0.5 cpus devine 500m, 512M devine 512Mi — și fiecare șablon de pod generat obține restartPolicy: Always, singura valoare pe care o acceptă un Deployment. Un serviciu fără imagine, porturi sau volume produce totuși un Deployment minim. Un fișier fără secțiunea top-level services: sau YAML care nu reușește să se analizeze returnează o eroare clară indicând linia în loc de un rezultat gol.

Totul rulează în browserul dvs.: fișierul compose nu pleacă niciodată de pe dispozitivul dvs., deci este sigur să lipiți configurația de producție. Copiați manifesturile generate, descărcați-le ca fișier .txt sau trimiteți ieșirea direct înapoi la intrare pentru a continua rafinarea spațiului de nume, etichetelor sau numărului de replici.

FAQ

Acceptă sintaxa lungă a Compose pentru porturi și volume?
Da. Alături de stringuri scurte cum ar fi "8080:80" sau "data:/var/lib/data", porturile și volumele scrise ca mapări (target, published, source) sunt de asemenea citite.
De ce fiecare pod obține restartPolicy: Always?
Un șablon de pod al unui Deployment acceptă doar acea valoare — un controller, nu runtime-ul containerului, decide cum să reacționeze la un container defect, deci configurația de restartare propriă a Compose nu poate fi transferată unu-la-unu.
Poate genera un Ingress pentru un serviciu fără port?
Nu. Manifesturile de Service și Ingress sunt create doar pentru serviciile care publică cel puțin un port în Compose, deoarece nu există nimic pentru a dirija traficul altfel.
Ce se întâmplă cu limitele de memorie și CPU?
Blocul deploy.resources al Compose se convertește în cantități de resurse Kubernetes: valorile zecimale ale CPU devin minicores (0.5 → 500m) și unitățile de memorie cum ar fi M sau G devin Mi sau Gi.
Fișierul meu docker-compose este încărcat undeva?
Nu. Conversia rulează în întregime în browserul dvs. — fișierul dvs. compose și conținutul acestuia nu pleacă niciodată de pe dispozitivul dvs.