Generatore YAML Kubernetes
Genera manifest Kubernetes validi da input form - Deployment, Service, ConfigMap, Ingress, StatefulSet, CronJob. Nessuna dipendenza esterna, output YAML istantaneo.
Seleziona il tipo di risorsa
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
protocol: TCP
resources:
requests:
cpu: "100m"
memory: "128Mi"
limits:
cpu: "500m"
memory: "512Mi"
env:
- name: APP_ENV
value: "production"
livenessProbe:
httpGet:
path: /healthz
port: 80
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 80
initialDelaySeconds: 5
periodSeconds: 5Note per Deployment
- I nomi devono rispettare RFC 1123: solo alfanumerici minuscoli e trattini.
- Le richieste/limiti di CPU usano i millicore (es.
100m= 0.1 CPU). - La memoria usa suffissi binari:
Mi,Gi. - Abilita le probe solo se il container espone i percorsi configurati.
Come utilizzare Generatore YAML Kubernetes
Scegli il tipo di risorsa
Seleziona il tipo di manifest da generare: Deployment, Service, ConfigMap, Ingress, StatefulSet o CronJob. Ogni tipo ha un form dedicato con i campi rilevanti.
Compila i campi del form
Inserisci nome, namespace, immagine, risorse CPU/memoria e le altre proprietà specifiche del tipo scelto (es. probe di liveness/readiness per un Deployment, host e TLS per un Ingress).
Leggi lo YAML generato in tempo reale
Il manifest YAML si aggiorna istantaneamente ad ogni modifica del form, con validazione del nome secondo la convenzione RFC 1123 usata da Kubernetes.
Copia o scarica il file
Usa "Copia" per incollare il manifest direttamente in un altro file, oppure "Scarica" per ottenere il file .yaml pronto da applicare con kubectl apply -f.
Suggerimenti
- Imposta sempre requests e limits realistici in base al carico atteso: valori troppo bassi causano throttling/OOMKill, valori troppo alti sprecano capacità del cluster.
- Per i CronJob usa concurrencyPolicy Forbid se il job non deve mai sovrapporsi a un'esecuzione precedente ancora in corso, tipico di job di backup o migrazione.
Domande frequenti
Perché il nome della risorsa deve rispettare certe regole?
Kubernetes richiede che i nomi delle risorse rispettino la convenzione RFC 1123: solo caratteri alfanumerici minuscoli e trattini, senza iniziare o finire con un trattino, massimo 63 caratteri. Il tool valida questo formato prima di generare lo YAML per evitare errori all'apply.
Che differenza c'è tra requests e limits per CPU/memoria?
requests indica le risorse minime garantite al pod (usate dallo scheduler per decidere su quale nodo posizionarlo), mentre limits è il tetto massimo che il pod può consumare prima di essere throttlato (CPU) o terminato con OOMKilled (memoria).
Quando devo usare un Deployment invece di uno StatefulSet?
Usa un Deployment per applicazioni stateless intercambiabili tra loro (es. API, frontend). Usa uno StatefulSet quando hai bisogno di identità di rete stabili e storage persistente dedicato per ogni pod, tipico di database o sistemi distribuiti (es. Postgres, Kafka).
L'Ingress generato funziona subito nel mio cluster?
Serve un ingress controller già installato nel cluster (es. ingress-nginx) e il campo ingressClassName deve corrispondere alla classe di quel controller. Il TLS richiede inoltre un Secret di tipo kubernetes.io/tls con il nome indicato nel campo tlsSecretName.
Il tool invia i dati del form a un server?
No, la generazione dello YAML avviene interamente lato client con funzioni JavaScript pure: nessuna chiamata API, nessun dato del tuo cluster o della tua configurazione lascia il browser.