I am trying to deploy a complete web application using GKE on Google Cloud (backend as nodejs, and frontend angular). Then enable SSL for it afterward.
I created a global IP address (And saw it in the list afterward): gcloud compute addresses create mathbux-static-ip --global
After that I have deployed both my backend and frontend - containers and yaml files.
The problem here is that the IP address reflected on the ingress controller comes from nowhere, and is different from what I set it to (the static IP address I just made above).
I have followed the guidelines of how to install Nginx-ingress setup on GKE by following this: https://kubernetes.github.io/ingress-nginx/deploy/#gce-gke
kubectl create clusterrolebinding cluster-admin-binding \
--clusterrole cluster-admin \
--user $(gcloud config get-value account)
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.34.1/deploy/static/provider/cloud/deploy.yaml
Here is a snippet part of my ingress.yaml:
.... truncated . . .
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: mathbux-ingress-frontend
namespace: default
annotations:
kubernetes.io/ingress.class: nginx
kubernetes.io/ingress.global-static-ip-name: "mathbux-static-ip"
networking.gke.io/managed-certificates: mathbux-ssl
nginx.ingress.kubernetes.io/rewrite-target: /
And here's a snippet of my managed certificate file as in Google Documentation:
apiVersion: networking.gke.io/v1beta2
kind: ManagedCertificate
metadata:
name: mathbux-ssl
spec:
domains:
- mathbux.com
- www.mathbux.com
The whole application works perfectly when I go to the generated IP address, and works as intended only that:
1.) The IP address is not the specific static global IP address I created and supposedly set on my ingress.yaml
2.) Respectively, SSL also fails. (Do note I have already pointed my Domain Names to the Static IP address I manually made)