mjl.
← All articles

Podman Kubernetes YAML and Minikube

podmankubernetesminikubecontainers

Podman pods and Kubernetes pods are related concepts but are not interchangeable runtimes. Use this article after Podman Pods and WordPress and treat generated YAML as a starting point that must be reviewed.

Generate and inspect YAML

podman kube generate wordpress-pod > wordpress.yaml
less wordpress.yaml

Check images, environment variables, volume definitions, ports, and credentials. Generated YAML may reflect local assumptions and should not be published with real secrets.

Play the YAML locally

podman kube play wordpress.yaml
podman pod ps

podman kube play is useful for local Podman-compatible experiments. It is not a substitute for testing the manifest against the Kubernetes distribution where it will run.

Minikube prerequisites

Install Minikube and kubectl using the current official instructions for the host operating system. Driver availability changes, so check first:

minikube version
minikube drivers
kubectl version --client

Start with a supported driver, commonly Podman or Docker depending on the host:

minikube start --driver=podman
kubectl get nodes

Do not combine commands from different Minikube releases or assume that a rootful Podman service is available to a rootless user. Keep the user, driver, and container runtime consistent.

Deploy and inspect

kubectl apply -f wordpress.yaml
kubectl get pods
kubectl describe pod <pod-name>
kubectl logs <pod-name>

For real Kubernetes deployments, replace generated environment values with Secrets, add readiness probes, persistent volume claims, resource limits, and a Service or Ingress. Delete the local workload when finished:

kubectl delete -f wordpress.yaml
minikube stop