Kubernetes YAML Generator
Gere manifestos Kubernetes para Deployments, Services, ConfigMaps e Namespaces.
Configuração de Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
namespace: default
labels:
app: my-app
spec:
replicas: 2
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
containers:
- name: my-app
image: nginx:latest
ports:
- containerPort: 80
env:
- name: ENV
value: "production"
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512MiAplicar com: kubectl apply -f deployment.yaml
Sobre esta ferramenta
Kubernetes YAML Generator é uma ferramenta para desenvolvedores que converte definições manuais de manifesto Kubernetes em arquivos de configuração YAML formatados corretamente. Seja você implantando aplicações contêinerizadas, gerenciando microsserviços ou configurando infraestrutura como código, esta ferramenta elimina a tarefa entediante de escrever manualmente YAML do Kubernetes gerando manifestos limpos e sintaticamente válidos para Deployments, Services, ConfigMaps e Namespaces. Ela garante que suas configurações sigam as especificações da API Kubernetes e as melhores práticas.
Para usar a ferramenta, preencha o formulário de configuração com os detalhes do seu recurso—especifique metadados de implementação, imagens de contêiner, portas de serviço, variáveis de ambiente e outros parâmetros. O gerador produz automaticamente YAML adequadamente indentado e bem estruturado que está pronto para ser aplicado diretamente ao seu cluster Kubernetes usando kubectl ou seu pipeline de CI/CD. Você pode personalizar nomes de recursos, rótulos, seletores e todos os outros campos antes da geração.
Esta ferramenta é particularmente valiosa para engenheiros de DevOps, desenvolvedores de aplicativos e equipes de infraestrutura que trabalham com Kubernetes. Ela trata casos extremos comuns, como mapeamentos de porta, volumeMounts, securityContext e limites de recursos, economizando tempo e reduzindo erros de sintaxe YAML que poderiam impedir implementações bem-sucedidas.
Perguntas Frequentes
Implementação de Código
import subprocess
import yaml
import tempfile
import os
def generate_deployment(name, image, replicas=2, port=80, namespace="default"):
"""Generate a Kubernetes Deployment manifest dict."""
return {
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {"name": name, "namespace": namespace},
"spec": {
"replicas": replicas,
"selector": {"matchLabels": {"app": name}},
"template": {
"metadata": {"labels": {"app": name}},
"spec": {
"containers": [{
"name": name,
"image": image,
"ports": [{"containerPort": port}]
}]
}
}
}
}
manifest = generate_deployment("my-app", "nginx:latest", replicas=3)
yaml_str = yaml.dump(manifest, default_flow_style=False)
print(yaml_str)
# Apply using kubectl
with tempfile.NamedTemporaryFile(mode='w', suffix='.yaml', delete=False) as f:
f.write(yaml_str)
tmp = f.name
result = subprocess.run(["kubectl", "apply", "-f", tmp], capture_output=True, text=True)
print(result.stdout)
os.unlink(tmp)Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.