Set command doesn't work for the deployment update in Azure Kubernetes cluster

12/19/2018

I'm using Azure DevOps pipelines to update our deployment in K8s cluster in Azure. It used to be working fine until yesterday, as for some reason the Pods in the cluster remain in their previous state. I can see that the image was successfully updated in ACR (container registry) and has a label 'latest'. However, the release pipeline doesn't seem to be doing anything useful. I use 'set' command in the task to update the Pod (it is well described in the Kubernetes docs and cheatsheet here)

This is the command sample extracted from the log: kubectl set image deployments/identityserver identityserver='myacr'/identityserver:latest -n identityserver-dev

As it indicates, I'm getting the latest image from ACR and trying to roll an update. It executes well (both in cmd and Azure DevOps). no errors, although, the Pod remains unaffected. Have I missed something in the docs? Should I raise the ticket with Microsoft?

-- John Bull
azure
azure-aks
azure-container-registry
azure-devops
azure-kubernetes

2 Answers

12/19/2018

why do you have ' in image name? also, latest wont work if you already have latest on the image, you need to be specific https://github.com/kubernetes/kubernetes/issues/33664.

This is not an Azure issue

-- 4c74356b41
Source: StackOverflow

12/20/2018

Please check here answers to similar question on SO, on why it is not a good option to use :latest tag in your Deployment spec, along with workarounds provided.

-- Nepomucen
Source: StackOverflow