Installation with the NGINX Ingress Operator

This document describes how to install the NGINX Ingress Controller in your Kubernetes cluster using the NGINX Ingress Operator.


  1. Make sure you have access to the Ingress Controller image:
    • For NGINX Ingress Controller, use the image nginx/nginx-ingress from DockerHub.
    • For NGINX Plus Ingress controller, see here for details on how to pull the image from the F5 Docker registry.
    • To pull from the F5 Container registry, configure a docker registry secret using your JWT token from the MyF5 portal by following the instructions from here.
    • It is also possible to build your own image and push it to your private Docker registry by following the instructions from here.
  2. Install the NGINX Ingress Operator following the instructions.

1. Create the NginxIngressController manifest

Create a manifest nginx-ingress-controller.yaml with the following content:

kind: NginxIngressController
  name: my-nginx-ingress-controller
  namespace: default
  type: deployment
    repository: nginx/nginx-ingress
    tag: 2.1.0
    pullPolicy: Always
  serviceType: NodePort
  nginxPlus: False

Note: For NGINX Plus, change the image.repository and image.tag values and change nginxPlus to True.

2. Create the NginxIngressController

$ kubectl apply -f nginx-ingress-controller.yaml

A new instance of the NGINX Ingress Controller will be deployed by the NGINX Ingress Operator in the default namespace with default parameters.

To configure other parameters of the NginxIngressController resource, check the documentation.