Kubernetes Deployment Generator
Build a Kubernetes Deployment with every important setting in the right place: image and pull policy, ports, command and arguments, environment variables and envFrom, CPU and memory requests and limits, startup, readiness and liveness probes, rolling update strategy, volumes from PVCs, ConfigMaps, Secrets and emptyDir, a restricted security context and spreading of replicas across nodes and zones.
- Runs in your browser
- No sign-up
- Free to use
How to use Kubernetes Deployment Generator
- Enter the name, namespace, image and ports.
- Add environment, resources and health checks.
- Configure volumes, strategy and security options.
- Copy deployment.yaml and apply it with kubectl.
Kubernetes Deployment Generator features
Probes
HTTP or TCP readiness, liveness and startup probes.
Resources
Validated CPU and memory quantities.
Rolling updates
maxSurge 25%, maxUnavailable 0, or Recreate.
Volumes
PVC, ConfigMap, Secret and emptyDir mounts.
Security
Non-root, read-only root, no privilege escalation, dropped capabilities.
High availability
Topology spread over nodes and zones.
When to use Kubernetes Deployment Generator
- Writing the Deployment for a new service.
- Reviewing an existing Deployment against best practice.
- Running workers and APIs with different settings.
- Learning which Deployment fields matter in production.
Kubernetes Deployment Generator FAQ
What is the difference between the probes?
Readiness decides whether a pod receives traffic, liveness restarts a stuck container, and the startup probe gives slow-starting apps time before liveness checks begin.
Should I set CPU limits?
Usually only a CPU request: limits throttle the app even when the node has idle CPU. Memory needs a limit, because memory cannot be throttled.
Why maxUnavailable: 0?
New pods are started and become ready before old ones are removed, so capacity never drops during a rollout.
Why one replica with a PVC?
Most volumes are ReadWriteOnce and can only be mounted on one node. Use the Recreate strategy or a StatefulSet for such apps.
What does the security context do?
It runs the container as a non-root user with a read-only root file system and no extra Linux capabilities, which limits the damage of a compromised app.
Is anything uploaded?
No. The YAML is generated in your browser.
A Deployment that is ready for production
A minimal Deployment needs only a name, a selector and an image, and that is what most tutorials show. Production Deployments need much more: health checks so traffic only reaches working pods, resources so the scheduler can place pods and the node is protected, an update strategy that avoids downtime, and security settings that limit what a compromised container can do.
The generator writes those settings with validated values. CPU quantities accept cores or millicores and memory accepts Mi and Gi, with a warning about the common mistake of writing m for megabytes. Ports get names so probes and Services can refer to them by name.
Three probes cover the life of a container. The startup probe allows up to 150 seconds for slow starts, the readiness probe takes the pod out of the Service when it cannot handle requests, and the liveness probe restarts a container that has stopped responding. Probes use HTTP GET on your health path or a TCP check.
Rolling updates start new pods before stopping old ones, and topology spread constraints place replicas on different nodes and zones so a single failure does not take the whole app down. Volumes can come from PersistentVolumeClaims, ConfigMaps, Secrets or emptyDir, with notes about the single-node limitation of ReadWriteOnce volumes.
The security context follows the Kubernetes restricted Pod Security Standard: non-root user, read-only root file system, no privilege escalation, all capabilities dropped and the default seccomp profile. The service account token is not mounted unless you choose a service account.