Based on the information provided in the support ticket, adding the annotations service.beta.kubernetes.io/azure-load-balancer-ipv4: 'xxxx'
and service.beta.kubernetes.io/azure-load-balancer-health-probe-request-path: '/healthz'
should help in maintaining a static IP address for your Kubernetes Ingress Controller.
Backup existing YAML
kubectl get deployment ingress-nginx-controller -n ingress-nginx -o yaml
Change existing YAML
Get new ingres version with sha
https://github.com/kubernetes/ingress-nginx/releases
labels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
app.kubernetes.io/version: 1.12.2 -> Change
template:
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/component: controller
app.kubernetes.io/instance: ingress-nginx
app.kubernetes.io/name: ingress-nginx
app.kubernetes.io/part-of: ingress-nginx
app.kubernetes.io/version: 1.12.2 -> Change
image: registry.k8s.io/ingress-nginx/controller:v1.12.2@sha256:03497ee984628e95eca9b2279e3f3a3c1685dd48635479e627d219f00c8eefa9 -> Change
kubectl apply -f nginx-deployment.yaml
Check Upgrade
kubectl get pods -n ingress-nginx
kubectl describe deployment ingress-nginx-controller -n ingress-nginx