# podman kube play: Run Kubernetes YAML Locally

> podman kube play creates pods and containers from a Kubernetes YAML. Reference for the play/down lifecycle, --build, and the manifest errors in CI.

Source: https://latchkey.dev/learn/command-reference/podman-play-kube  
Updated: 2026-06-30

podman kube play reads a Kubernetes YAML and creates the equivalent Podman pods and containers locally.

podman kube play (formerly podman play kube) lets a CI job run a Kubernetes manifest without a cluster, handy for testing the same YAML you deploy.

## What it does

podman kube play parses a Kubernetes Pod, Deployment, or related manifest and creates matching Podman pods and containers. podman kube down tears them back down. It is the bridge between Podman and Kubernetes-style YAML.

## Common usage

```Terminal
podman kube play app.yaml
podman kube play --build app.yaml
podman kube down app.yaml
# generate a manifest from a running pod
podman kube generate mypod > app.yaml
```

## Options

| Command/Flag | What it does |
| --- | --- |
| kube play <file> | Create pods/containers from the YAML |
| kube down <file> | Remove what the YAML created |
| --build | Build images referenced in the manifest |
| --replace | Replace existing pods with the same name |
| --network <name> | Attach the pod to a named network |

## In CI

Use podman kube play to smoke-test a deployment manifest in a pipeline before it reaches a cluster. Note Podman supports a subset of Kubernetes fields, so a manifest that runs here is not a guarantee it is fully valid for a real cluster.

## Common errors in CI

"Error: short-name ... no resolution" appears when container images in the YAML are unqualified; fully qualify them. "Error: unsupported Kubernetes kind" means the manifest uses a kind Podman does not implement. "pod ... already exists" on a re-run is cleared with --replace or a prior podman kube down. Image pulls still need podman login for private registries.

## FAQ

### podman kube play: Run Kubernetes YAML Locally?

podman kube play (formerly podman play kube) lets a CI job run a Kubernetes manifest without a cluster, handy for testing the same YAML you deploy.

### What it does?

podman kube play parses a Kubernetes Pod, Deployment, or related manifest and creates matching Podman pods and containers. podman kube down tears them back down. It is the bridge between Podman and Kubernetes-style YAML.

### In CI?

Use podman kube play to smoke-test a deployment manifest in a pipeline before it reaches a cluster. Note Podman supports a subset of Kubernetes fields, so a manifest that runs here is not a guarantee it is fully valid for a real cluster.

### Common errors in CI?

"Error: short-name ... no resolution" appears when container images in the YAML are unqualified; fully qualify them. "Error: unsupported Kubernetes kind" means the manifest uses a kind Podman does not implement. "pod ... already exists" on a re-run is cleared with --replace or a prior podman kube down.

---

Latchkey runs CI/CD that repairs its own failures. Agent entry points: https://latchkey.dev/agent.txt, https://latchkey.dev/openapi.json, https://latchkey.dev/llms.txt
