Transit fare API owners change the OCIR image tag on an OKE Deployment and want riders to keep hitting ready Pods during the cutover. Which strategy should they keep?
Select an answer to reveal the explanation.
Short Explanation
RollingUpdate is like swapping bus doors one at a time while the route stays open. Recreate is closing the whole garage first. On OKE, RollingUpdate is the professional default so the Service keeps selecting ready Pods through the cutover.
Full Explanation
RollingUpdate is the strategy that keeps riders on ready Pods during an image-tag cutover. The Deployment controller creates new Pods with the updated OCIR tag while a controlled number of old Pods remain Ready and selected by the Service. Traffic continues to healthy endpoints as surge and unavailability knobs pace the swap—matching the transit fare API requirement that the route stay open. Recreate fails availability by design: every old Pod is terminated before new Pods start, so the Service has no backends during the gap. That produces a hard outage window unacceptable for a live fare API even if the cutover is otherwise clean. Deleting the Service first removes the stable traffic front door. Callers lose a discoverable endpoint during the change, and recreating the Service later can change load-balancer provisioning or DNS timing. The Service should remain; RollingUpdate already manages Pod readiness behind it. Scaling the Deployment to zero before applying the new tag also forces an intentional blackout: replica count hits zero, endpoints empty, then new Pods come up. That is an operational outage pattern, not a zero-downtime roll. Exam caveat: RollingUpdate only preserves traffic if readiness probes (and Pod disruption budgets where used) actually keep enough Ready Pods; a broken readiness check or insufficient capacity can still drop the Service even under RollingUpdate. Operational check: during the roll, watch Deployment rollout status and Service endpoints to confirm old Ready Pods remain selected until new Pods pass readiness, and tune maxUnavailable/maxSurge so fare traffic never sees an empty backend set.