Kubernetes Manifest Generator
Fill in your image, ports and replicas to get ready-to-apply Kubernetes YAML. It builds a Deployment and a Service, with an optional Ingress, all as one multi-document file you can copy or download.
How to generate Kubernetes manifests
- Enter your app name, container image, replicas and ports.
- Pick a Service type and add any env vars, resource limits or an Ingress host.
- Copy the YAML or download it, then run kubectl apply -f on the file.
Examples
Deployment + LoadBalancer Service
{ "appName": "web", "image": "nginx:1.27", "replicas": 3, "containerPort": 8080, "servicePort": 80, "serviceType": "LoadBalancer" }apiVersion: apps/v1 kind: Deployment metadata: name: web ... --- apiVersion: v1 kind: Service spec: type: LoadBalancer ...
With an Ingress
{ "appName": "api", "image": "ghcr.io/acme/api:1.4", "includeIngress": { "host": "api.example.com", "path": "/" } }...
---
apiVersion: networking.k8s.io/v1
kind: Ingress
spec:
rules:
- host: api.example.com
...Frequently asked questions
What does this generator produce?
A single multi-document YAML file containing a Deployment (apps/v1) and a Service (v1), plus a networking.k8s.io/v1 Ingress when you add a host. The documents are separated by the standard --- marker.
How do I apply the generated manifests?
Save the output to a file such as app.yaml and run kubectl apply -f app.yaml. Because the documents are separated by ---, kubectl creates the Deployment, Service and Ingress in one command.
Which Service type should I choose?
ClusterIP exposes the app only inside the cluster, NodePort opens a port on every node, and LoadBalancer asks your cloud to provision an external load balancer. Use ClusterIP behind an Ingress, or LoadBalancer for direct public access.
How do CPU and memory requests and limits work?
Requests are what the scheduler reserves for the pod, and limits are the hard ceiling before the container is throttled or killed. Set them with Kubernetes quantities like 100m for CPU and 128Mi for memory.
Does the Service selector match the Deployment?
Yes. Both the Deployment pod template and the Service selector use the label app set to your app name, so traffic is routed to the right pods automatically.
Is anything sent to a server?
No. The YAML is built entirely in your browser from the values you enter, so your image names, hosts and environment variables never leave your device.
Related tools
Docker Compose Generator
Build a valid docker-compose.yml in your browser. Add services, pick Postgres, MySQL, Redis, Mongo or Nginx presets, then copy or download the file.
YAML Formatter
Format and validate YAML online. Fix indentation, normalize messy YAML, sort keys and catch syntax errors. Runs entirely in your browser.
JSON Formatter
Format, validate and minify JSON online. Pretty-print with custom indentation, sort keys and catch syntax errors. Runs in your browser.
.env to JSON
Convert a .env file to JSON, or JSON back to .env. Parses KEY=value lines, comments, quotes and export. Runs entirely in your browser.
Aspect Ratio Calculator
Calculate aspect ratios fast. Enter a ratio like 16:9 and one dimension to get the other, or enter width and height to simplify the ratio.
Base58 Encoder
Encode and decode Base58 online with the Bitcoin alphabet. Convert text to Base58 or back, UTF-8 safe, no confusing 0 O I l. Runs in your browser.