An Azure service that provides serverless Kubernetes, an integrated continuous integration and continuous delivery experience, and enterprise-grade security and governance.
Hi ,
Thanks for reaching out to Microsoft Q&A.
You have a couple of issues mixed together here.
First, your command syntax is wrong. --record was a flag used in older Kubernetes versions, and it is deprecated/removed now. That is why nothing is captured in rollout history. Also your syntax is incorrect. The correct modern command is simply:
kubectl set image deployment/nginx-deployment nginx=nginx:1.17.0
If you want change tracking, you must manually add an annotation, for example:
kubectl annotate deployment nginx-deployment kubernetes.io/change-cause="upgraded nginx to 1.17.0"
Second, why you do not see 1.17.0 in rollout history: rollout history does not store image versions automatically. It only shows the CHANGE-CAUSE annotation. Since you did not set it (and --record no longer works), it shows <none>.
Third, why --record was used: earlier it automatically stored the executed command in kubernetes.io/change-cause so you could audit changes. Now Kubernetes expects you to handle this explicitly (better for controlled deployments via CI/CD).
Finally, the rollout status message:
Waiting for deployment "nginx-deployment" rollout to finish: 3 out of 5 new replicas have been updated
This simply means rolling update is in progress. Pods are being replaced gradually based on your strategy (25% max unavailable/surge). It can take time depending on pull time, node resources, or readiness probes. If it stays stuck long, check:
kubectl get pods kubectl describe pod <pod-name>
Most common causes are image pull delays or failing readiness probes.
I dont see anything is broken. Your deployment updated correctly; you just expected old --record behaviour which no longer exists.
Please 'Upvote'(Thumbs-up) and 'Accept' as answer if the reply was helpful. This will be benefitting other community members who face the same issue.