We are going to use the Nginx installation manifests based on the Nginx Ingress Controller installation guide. For simplicity - we have already prepared the installation in a single yaml file.
kubectl apply -f files/5ingress/nginx-ingress-install.yaml
Output
cat << EOF | kubectl apply -f -
apiVersion: v1
kind: Service
metadata:
name: dashboard-nginx-ingress
namespace: nginx-ingress
annotations:
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "tcp"
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: 8080
protocol: TCP
name: http
selector:
app: nginx-ingress
EOF
kubectl get svc --namespace=nginx-ingress
Output
Note the EXTERNAL-IP of the “dashboard-nginx-ingress”. This is the hostname that we are going to use in order to view the Nginx Dashboard.
Browse to the following location and verify you can see the dashboard: http://<DASHBOARD-EXTERNAL-IP>/dashboard.html
Note the EXTERNAL-IP of the “nginx-ingress”. This is the hostname that we are going to use in order to publish the Arcadia web application.
Browse to the following location and verify that you receive a 404 status code: http://<INGRESS-EXTERNAL-IP>/
Please note that it might take some time for the DNS names to become available.
export dashboard_nginx_ingress=$(kubectl get svc dashboard-nginx-ingress --namespace=nginx-ingress | tr -s " " | cut -d' ' -f4 | grep -v "EXTERNAL-IP")
export nginx_ingress=$(kubectl get svc nginx-ingress --namespace=nginx-ingress | tr -s " " | cut -d' ' -f4 | grep -v "EXTERNAL-IP")