Step 2 - Publish Arcadia app with a NGINX Plus Ingress Controller

It’s time to publish Arcadia application externally from the Kubernetes cluster.

Deploy the NGINX Plus Ingress Controller

Now, Arcadia App is running in the Kubernetes Cluster. We need a solution to publish it externally (using Kubernetes front end IP addresses) and routing the packets to the right pods (main, back, app2, app3)

To do so, I prepared a kubectl Kubernetes Deployment in YAML.

Steps:

  1. SSH (or WebSSH and cd /home/ubuntu/) to CICD Server

  2. Run this command kubectl apply -f /home/ubuntu/k8s_ingress/full_ingress_arcadia.yaml

  3. You should now see a new namespace nginx-ingress and a new ingress in the Kubernetes Dashboard on the Jumphost

  4. Check the Ingress arcadia-ingress (in the default namespace) by clicking on the 3 dots on the right and edit

  5. Scroll down and check the specs

../../_images/arcadia-ingress.png
spec:
rules:
    - host: k8s.arcadia-finance.io
    http:
        paths:
        - path: /
            pathType: ImplementationSpecific
            backend:
            serviceName: main
            servicePort: 80
        - path: /files
            pathType: ImplementationSpecific
            backend:
            serviceName: backend
            servicePort: 80
        - path: /api
            pathType: ImplementationSpecific
            backend:
            serviceName: app2
            servicePort: 80
        - path: /app3
            pathType: ImplementationSpecific
            backend:
            serviceName: app3
            servicePort: 80

Note

You can see the Ingress is routing the packets to the right service based on the URI.

Note

Now, Arcadia is available for customers.

Steps:

  1. In Chrome, click on the bookmark Arcadia k8s

  2. Click on Login

  3. Login with matt:ilovef5

  4. You should see all the apps running (main, back, app2 and app3)

../../_images/arcadia-app1.png