Lab 3 - Ingress Networking & Connectivity via Nginx

Lab Objective

In this lab we will establish Ingress networking via Nginx Ingress Controller so we are able to access the AWX from the FQDN address.

Deployment Steps

Step 1: Create Nginx Ingress

Create awx-nginx-ingress.ymlfile with the following content

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: awx-ingress
  namespace: awx
spec:
  ingressClassName: nginx
  rules:
  - host: tower.home-cloud01.lab
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: awx-instance-serivce
              port:
                number: 30000
```

Step 2: Ensure Minikube has Nginx Ingress Classes

$ minikube addons enable ingress

Step 3: Deploy Ingress Nginx.

Run below command,

$ kubectl apply -f awx-nginx-ingress.yml

Above command will create below Ingress object

To see more details about our HTTP/HTTPS network routing, we shall be able to describe the object by running the following command.

$ kubectl describe ingress-nginx

As you can see on the above image, my specified subdomain tower.home-cloud01.lab was routed to the backend service - awx-nginx-service (the AWX service) on port 80.

Step 4: Modify hosts file

We will need to modify hosts file in our host server.

$ kubectl get ingress awx-nginx-ingress -n awx | grep -v NAME | awk -F' ' '{print $4 " " $3 }' | sudo tee -a /etc/hosts

Verify the host has been added into the /etc/hosts file

Step 5: Verify the connectivity.

So now we have the Ingress setup for our network routes. Let's test the connection.

$ curl -L -q http://tower.home-cloud01.lab/api/v2/ping 2>/dev/null

If you get the same response as per the following image, then you are in a good conditions.

Congratulations! Now you have the AWX up and runninng in your Kubernetes cluster.

Next we will explore on the Day 2 operations where we will access the AWX from the Web console.

~End of Lab 3 - Ingress Networking & Connectivity via Nginx~

Continue to Lab 4: AWX Web Console & accessibility on LAN

Last updated