Upgrade NGINX Ingress Controller¶
EKF 2.0.X uses NGINX Ingress Controller 1.3.0. This guide will walk you through upgrading NGINX Ingress Controller from version 0.30.0 to 1.3.0.
Fast Forward
If you are upgrading from EKF 2.0 or later, expand this box to fast-forward.
- Proceed to the Verify section.
Overview
What You’ll Need¶
- An upgraded management environment.
- Your clone of the Arrikto GitOps repository.
- Arrikto manifests for EKF version 2.0.2.
- An exposed EKF deployment.
Procedure¶
Go to your GitOps repository inside your
rok-tools
management environment:root@rok-tools:~# cd ~/ops/deploymentsAttention
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.
Edit
rok/nginx-ingress-controller/overlays/deploy/kustomization.yaml
and use the newservice-elb-acm
overlay:bases: - ../service-elb-acmEdit
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-13be86347715Edit
rok/nginx-ingress-controller/overlays/deploy/patches/service-elb.yaml
and remove the following annotations since they are inherited from theservice-elb-acm
overlay:service.beta.kubernetes.io/aws-load-balancer-backend-protocol
service.beta.kubernetes.io/aws-load-balancer-ssl-ports
Commit your changes:
root@rok-tools:~/ops/deployments# git commit -am "Use ELB and ACM for exposing NGINX"
Apply the manifests:
root@rok-tools:~/ops/deployments# rok-deploy --apply \ > rok/nginx-ingress-controller/overlays/deployDelete any stale resources left back from previous NGINX Ingress Controller version:
root@rok-tools:~/ops/deployments# rok-kf-prune --app nginx
Verify¶
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
What’s Next¶
The next step is to upgrade your Serving NGINX Ingress Controller.