Hello
Welcome to microsoft Q&A, Thankyou for posting your query here.
when you manually upgrade the version of Azure Kubernetes Service (AKS) the process typically focuses solely on upgrading the Kubernetes components and does not automatically handle the upgrading of applications or services running within the cluster.
Nginx-Ingress is essentially an Ingress controller running as pods within your AKS cluster, any update management of its deployment is taken by the cluster administrator. This includes updating to newer versions of Nginx-Ingress or modifying its configuration based on Kubernetes updates.
There are several channels available, each targeting different levels of stability. Depending on the channel selected, AKS automatically schedules and implements upgrades to your clusters. The automatic upgrade process typically involves updating the control plane followed by node pools. The control plane is upgraded first without any downtime. Node pool upgrades are done one node at a time to maintain availability. It do not include upgrades for applications like Nginx-Ingress.
If you installed ingress-nginx using the Helm command in the deployment docs so its name is ingress-nginx, you should be able to upgrade using
helm upgrade --reuse-values ingress-nginx ingress-nginx/ingress-nginx
https://kubernetes.github.io/ingress-nginx/deploy/upgrade/
The --reuse-values
flag in Helm preserves the values used in the previous release, including the configuration of how services are set up.
If your Ingress controller is exposed through a Kubernetes Service of type LoadBalancer, then the external IP address is typically managed by Azure, which remains attached to the service until the service is deleted.
you should create static IP address that you can assign to your Ingress controller. This way, the IP address can be reused across different deployments and upgrades.
apiVersion: v1
kind: Service
metadata:
name: nginx-ingress
annotations:
service.beta.kubernetes.io/azure-load-balancer-resource-group: myResourceGroup
spec:
type: LoadBalancer
loadBalancerIP: your-static-ip <163.17.03.01>
ports:
- port: 80
selector:
app: nginx-ingress
Hope this helps you.
If an answer has been helpful, please consider accepting the answer to help increase visibility of this question for other members of the Microsoft Q&A community. If not, please let us know what is still needed in the comments so the question can be answered. Thank you for helping to improve Microsoft Q&A!