Workaround:
From VIO manager
- List local docker image
docker images | grep nginx-ingress
# docker images | grep nginx-ingress
docker-registry.default.svc.cluster.vio:5000/vmware/kubernetes-ingress-controller/nginx-ingress-controller v0.24.1 cc46e42aa763 23 months ago 1.01GB
- Remove local docker image
docker rmi <docker image from step above> --force
root@oms [ ~ ]# docker rmi docker-registry.default.svc.cluster.vio:5000/vmware/kubernetes-ingress-controller/nginx-ingress-controller:v0.24.1 --force
Untagged: docker-registry.default.svc.cluster.vio:5000/vmware/kubernetes-ingress-controller/nginx-ingress-controller:v0.24.1
Untagged: docker-registry.default.svc.cluster.vio:5000/vmware/kubernetes-ingress-controller/nginx-ingress-controller@sha256:####
- Make sure the local image is deleted successfully
docker images | grep nginx-ingress
- Get the ingress pod name.
kubectl get pod |grep ingress
# kubectl get pod | grep ingress
vio-ingress-cntl-nginx-ingress-controller-####-#### 1/1 Running 2 314d
- Delete the ingress pod
kubectl delete pod <pod from above step>
- After nginx-ingress pod is successfully restarted, please check nginx version inside it.
kubectl exec -it <new ingress pod name> -- nginx -v
# kubectl exec -it vio-ingress-cntl-nginx-ingress-controller-####-####-#### -- nginx -v
nginx version: nginx/1.20.1
From the controller nodes
- Get controller nodes
viocli get controllers
- ssh into controller node
viossh <controller name from above step>
- Get local ingress image
sudo docker images | grep ingress
$ sudo docker images | grep ingress
docker-registry.default.svc.cluster.vio:5000/vmware/kubernetes-ingress-controller/nginx-ingress-controller v0.24.1 cc46e42aa763 23 months ago 1.01GB
- Delete local ingress image (if it exists)
sudo docker rmi <docker image from above step> --force
$ sudo docker rmi docker-registry.default.svc.cluster.vio:5000/vmware/kubernetes-ingress-controller/nginx-ingress-controller:v0.24.1 --force
Untagged: docker-registry.default.svc.cluster.vio:5000/vmware/kubernetes-ingress-controller/nginx-ingress-controller:v0.24.1
Untagged: docker-registry.default.svc.cluster.vio:5000/vmware/kubernetes-ingress-controller/nginx-ingress-controller@sha256:####
- Repeat the above steps for each controller node
From VIO Manager
- Get ingress pods (pods named like ingress-xxxxxxxxx-xxxxx )
osctl get pods | grep ingress
# osctl get pods | grep ingress
ingress-xxxxxxxxx-xxxxx 3/3 Running 0 25m
ingress-xxxxxxxxx-xxxxx 3/3 Running 0 30m
- Delete ingress pods
osctl delete pod <ingress-xxxxx-xxxx pods from above step>
# osctl delete pod ingress-xxxxxxxxx-xxxxx
pod "ingress-xxxxxxxxx-xxxxx" deleted
- After ingress pods are successfully restarted, please check nginx version inside it
osctl exec -it <new ingress pod name> -- nginx -v
# osctl exec -it ingress-xxxxxxxxx-xxxxx -- nginx -v
Defaulting container name to ingress.
Use 'kubectl describe pod/ingress-xxxxxxxxx-xxxxx -n openstack' to see all of the containers in this pod.
nginx version: nginx/1.20.1