Pular para o conteúdo
🛠️ToolsShed

Kubernetes YAML Generator

Gere manifestos Kubernetes para Deployments, Services, ConfigMaps e Namespaces.

Configuração de Deployment

deployment.yaml
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: 512Mi

Aplicar 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.