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.
Frequently asked questions
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.