Kubernetes YAML generator

Generate, validate and export production-style K8s manifests across core, security and enterprise templates.

Tier 1 templates (core)

Tier 2 templates (security)

Tier 3 templates (enterprise)

Core settings

Autoscaling, Jobs, Daemon and Quotas

Resource limits calculator

ConfigMap / Secret / Env

Need more than a template?

Want a hand with the infrastructure side?

I set up CI/CD, Kubernetes and cloud platforms that keep releases routine.

DevOps engineering →

How to use the Kubernetes YAML generator

Fill in an app name, image and a few settings and the tool writes manifests for 19 kinds of resource: Namespace, Deployment, StatefulSet, Service, Ingress, ConfigMap, Secret, PersistentVolumeClaim, HorizontalPodAutoscaler, Job, CronJob, DaemonSet, NetworkPolicy, ResourceQuota, LimitRange, PodDisruptionBudget, ServiceAccount, Role and RoleBinding. A resource calculator suggests CPU and memory requests and limits.

  1. Set the app name, namespace, image, replicas and ports.
  2. Turn on the templates you want. They are grouped as core, security and enterprise.
  3. Check the generated YAML, then copy or download it and apply it with kubectl.

Worked examples

Applying the output

kubectl apply --dry-run=server -f manifests.yaml
kubectl apply -f manifests.yaml

A server-side dry run checks the manifests against your cluster's real API before anything changes.

Mistakes to avoid

  • Relying on the built-in check

    The validation confirms that the YAML parses and that each document has an apiVersion and a kind. It is not a schema check. Run kubectl apply --dry-run=server or a tool such as kubeconform for that.

  • Forgetting probes

    The generated Deployment sets resource requests and limits but no readiness or liveness probes. Add them, or Kubernetes cannot tell a starting pod from a broken one.

  • Setting an autoscaler without CPU requests

    A HorizontalPodAutoscaler that targets CPU percentage needs CPU requests on the pods and a metrics server in the cluster. Without both, it does nothing.

  • Believing a Secret is encrypted

    Kubernetes Secret values are only base64-encoded. Turn on encryption at rest for etcd, and keep real secrets out of Git.

  • Using the latest image tag

    A pod that restarts may pull a different image than the one it ran before. Use a specific version or a digest.

Questions people ask

Does it work for any cluster?
The manifests use standard Kubernetes APIs, so they apply to EKS, GKE, AKS and local clusters such as kind or minikube. An Ingress also needs an ingress controller installed in the cluster.
What do the resource profiles mean?
Small, medium and large fill in starting values for CPU and memory requests and limits. They are sensible defaults, not measurements. Watch real usage and adjust.

Related