Upgrade NGINX Ingress Controller

EKF 2.0 uses NGINX Ingress Controller 1.3.0. This guide will walk you through upgrading NGINX Ingress Controller form version 0.30.0 to 1.3.0.

Procedure

  1. Go to your GitOps repository inside your rok-tools management environment:

    root@rok-tools:~# cd ~/ops/deployments
  2. Attention

    If you are running on EKS, using ELB as your load balancer, and terminating TLS at the ELB level using an ACM certificate, follow steps a-d below. Otherwise, skip them and continue with the rest of the guide.

    1. Edit rok/nginx-ingress-controller/overlays/deploy/kustomization.yaml and use the new service-elb-acm overlay:

      bases: - ../service-elb-acm
    2. Edit rok/nginx-ingress-controller/overlays/deploy/patches/service-elb.yaml and specify the ARN of your ACM certificate in the corresponding annotation:

      annotations: service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:eu-central-1:123456789012:certificate/24e98149-3e01-4035-9081-13be86347715
    3. Edit rok/nginx-ingress-controller/overlays/deploy/patches/service-elb.yaml and remove the following annotations since they are inherited from the service-elb-acm overlay:

      • service.beta.kubernetes.io/aws-load-balancer-backend-protocol
      • service.beta.kubernetes.io/aws-load-balancer-ssl-ports
    4. Commit your changes:

      root@rok-tools:~/ops/deployments# git commit -am "Use ELB and ACM for exposing NGINX"
  3. Apply the manifests:

    root@rok-tools:~/ops/deployments# rok-deploy --apply \ > rok/nginx-ingress-controller/overlays/deploy
  4. Delete any stale resources left back from previous NGINX Ingress Controller version:

    root@rok-tools:~/ops/deployments# rok-kf-prune --app nginx

Verify

  1. Verify that NGINX Ingress Controller is up and running. Check the Pod status and verify that field STATUS is Running and field READY is 1/1:

    root@rok-tools:~# kubectl -n ingress-nginx get pods NAME READY STATUS RESTARTS AGE ingress-nginx-controller-7f74f657bd-ln59l 1/1 Running 0 1m

Summary

You have successfully upgraded NGINX Ingress Controller.

What’s Next

The next step is to upgrade your Serving NGINX Ingress Controller.