Kubernetes YAML Generator
Genera manifest Kubernetes per Deployments, Services, ConfigMaps e Namespaces.
Configurazione 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: 512MiApplica con: kubectl apply -f deployment.yaml
Informazioni sullo strumento
Kubernetes YAML Generator è uno strumento per sviluppatori che converte definizioni manuali di manifest Kubernetes in file di configurazione YAML correttamente formattati. Che tu stia distribuendo applicazioni containerizzate, gestendo microservizi o configurando infrastruttura come codice, questo strumento elimina il tedioso compito di scrivere manualmente YAML Kubernetes generando manifest puliti e sintatticamente validi per Deployments, Services, ConfigMaps e Namespaces. Garantisce che le tue configurazioni seguano le specifiche dell'API Kubernetes e le best practice.
Per utilizzare lo strumento, compila il modulo di configurazione con i dettagli delle tue risorse—specifica metadati di distribuzione, immagini di contenitori, porte di servizio, variabili di ambiente e altri parametri. Il generatore produce automaticamente YAML correttamente indentato e ben strutturato che è pronto per essere applicato direttamente al tuo cluster Kubernetes utilizzando kubectl o la tua pipeline CI/CD. Puoi personalizzare i nomi delle risorse, le etichette, i selettori e tutti gli altri campi prima della generazione.
Questo strumento è particolarmente prezioso per ingegneri DevOps, sviluppatori di applicazioni e team di infrastruttura che lavorano con Kubernetes. Gestisce casi limite comuni come mappature di porte, volumeMounts, securityContext e limiti di risorse, risparmiando tempo e riducendo gli errori di sintassi YAML che potrebbero impedire distribuzioni riuscite.
Domande Frequenti
Implementazione del Codice
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.