Ir para o conteúdo
Totalmente local

manifesto docker-compose para Kubernetes

Converter serviços docker-compose em manifestos Kubernetes Deployment e Service.

Entrada
Saída

manifesto docker-compose para Kubernetes

Cole um arquivo docker-compose.yml e esta ferramenta converte cada serviço em manifestos Kubernetes prontos para aplicar: um Deployment e, quando o serviço publica uma porta, um Service correspondente. Foi construída para desenvolvedores que estão movendo uma stack baseada em Compose para um cluster, elaborando um Helm chart manualmente ou simplesmente querendo uma primeira versão do YAML em vez de escrever cada campo do zero.

Defina um espaço de nomes e rótulos comuns para carimbar em cada recurso gerado, e escolha quantas réplicas cada Deployment deve executar. Portas convertem para um Service ClusterIP ou NodePort dependendo do que você escolher, variáveis de ambiente se tornam um ConfigMap ou um Secret, e volumes se tornam um PersistentVolumeClaim ou um emptyDir — o que quer que corresponda a como você planeja executar a workload. Ative sondagens de disponibilidade e atividade para adicionar uma verificação TCP básica contra a primeira porta do container, e ative a geração de Ingress para expor serviços que usam portas fora do cluster.

Os limites de cpus e memory sob deploy.resources do Compose são traduzidos para o próprio formato de quantidade do Kubernetes — 0.5 cpus torna-se 500m, 512M torna-se 512Mi — e cada template de pod gerado obtém restartPolicy: Always, o único valor que um Deployment aceita. Um serviço sem imagem, portas ou volumes ainda produz um Deployment mínimo. Um arquivo sem seção top-level services: ou YAML que falha ao analisar retorna um erro claro nomeando a linha em vez de um resultado em branco.

Tudo é executado no seu navegador: o arquivo compose nunca sai do seu dispositivo, então é seguro colar configuração de produção. Copie os manifestos gerados, baixe-os como um arquivo .txt ou envie a saída diretamente de volta para a entrada para continuar refinando o espaço de nomes, rótulos ou contagem de réplicas.

FAQ

Suporta a sintaxe longa do Compose para portas e volumes?
Sim. Ao lado de strings curtas como "8080:80" ou "data:/var/lib/data", portas e volumes escritos como mapeamentos (target, published, source) também são lidos.
Por que cada pod obtém restartPolicy: Always?
Um template de pod de um Deployment aceita apenas esse valor — um controller, não o runtime do container, decide como reagir a um container que falhou, então a configuração de restart do próprio Compose não pode ser transferida um-para-um.
Pode gerar um Ingress para um serviço sem porta?
Não. Manifestos de Service e Ingress são criados apenas para serviços que publicam pelo menos uma porta no Compose, pois não há nada para rotear tráfego para caso contrário.
O que acontece com limites de memória e CPU?
O bloco deploy.resources do Compose se converte em quantidades de recursos do Kubernetes: valores decimais de CPU se tornam milicores (0.5 → 500m) e unidades de memória como M ou G se tornam Mi ou Gi.
Meu arquivo docker-compose é carregado em algum lugar?
Não. A conversão é executada inteiramente no seu navegador — seu arquivo compose e seu conteúdo nunca saem do seu dispositivo.