Now that we deployed our backend microservices, let’s go and deploy our frontend stack.
Grab the Backend Service ELB, and deploy our Front End:
export API_BACKEND=$(kubectl get svc jaeger-tracing-nodejs-service --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")
echo -e "API_BACKEND: $API_BACKEND"
envsubst < kubernetes/frontend/jaeger-tracing-frontend-service-deployment.yaml | sponge kubernetes/frontend/jaeger-tracing-frontend-service-deployment.yaml
kubectl apply -f kubernetes/frontend/
Now we wait for all the pods to be up and running:
Note: It can take a few minutes for all the pods to show a Status
of Running
and have a READY
of 1/1
Check the frontend’s ingress Load Balancer was provisioned:
$ kubectl get svc jaeger-tracing-frontend-service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
front-end-lb LoadBalancer 10.100.2.16 *a9e7c954d96114324b80da103b888b79**-902876639.us-west-2.elb.amazonaws.**com* 80:31627/TCP 2m16s
Note: If you do not see an External-IP, re-run the command and wait till it appears (this can take a minute or two)
Get the URL for demo microservice.
export SERVICE_IP=$(kubectl get svc jaeger-tracing-frontend-service --template "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}")
echo http://${SERVICE_IP}/
Now check the website is able to load. Note: it can take a few minutes for the ELB’s DNS records to propagate.