Skip to main content

Setup the Ingress-NGINX controller

Now that your cluster is initialized to work with Lizz, you can start adding applications.

Add the Ingress controller​

The first application we need is the Ingress Nginx controller to be able to expose the other applications on a public IP address.

Run the following command to add Nginx to your cluster:

lizz add github \
--owner=$GITHUB_USER \
--fleet=fleet \
--origin-url=https://github.com/openlizz/application-nginx \
--path=./default \
--destination=nginx \
--cluster-role \
--personal

Check the deployment​

Reconcile the fleet repository to deploy the application directly:

flux reconcile source git flux-system

The Ingress Nginx controller is being installed in your cluster and you can check it by running:

kubectl -n ingress-nginx get pod

After some time, the output should be similar to:

NAME                                        READY   STATUS    RESTARTS   AGE
ingress-nginx-controller-686556747b-pk5nh 1/1 Running 0 35s

Obtain public IP address​

When the pod is ready, run the following command to obtain the public IP address of your load balancer created by the Nginx application:

kubectl -n ingress-nginx get svc ingress-nginx-controller

The output is similar to:

NAME                       TYPE           CLUSTER-IP      EXTERNAL-IP      PORT(S)                      AGE
ingress-nginx-controller LoadBalancer 10.42.141.173 51.159.207.124 80:31203/TCP,443:32595/TCP 3m40s

The EXTERNAL-IP is the public IP address of your load balancer.

Store it in an environment variable for future use:

export LB_IP=$(kubectl -n ingress-nginx get svc ingress-nginx-controller -o jsonpath='{.status.loadBalancer.ingress[0].ip}')