Objective: Configure Envoy to manage service-to-service communication and enable stats collection.
TODO: add diagram
First, navigate to this exercise’s directory:
cd ~/service-mesh-training/exercises/lab-03/01-configure-envoy-statistics/
In files/app
you’ll find an updated set of Kubernetes configurations. If you compare these files with their counterparts from exercise 2, you’ll notice a number of changes.
Briefly, what we’re doing is:
Once you apply this change, the different components of the Emojify architecture will talk to each other though localhost, with Envoy proxying the requests.
Apply the updated configs with kubectl apply
:
kubectl apply -f files/app
configmap/emojify-api-configmap created
deployment.apps/emojify-api configured
configmap/emojify-cache-configmap created
deployment.apps/emojify-cache configured
configmap/emojify-facebox-configmap created
deployment.apps/emojify-facebox configured
configmap/emojify-ingress-configmap configured
deployment.apps/emojify-ingress configured
secret/emojify unchanged
configmap/emojify-website-configmap configured
deployment.apps/emojify-website configured
To verify that Envoy has been configured properly and is collecting statistics by going to the Prometheus tab and running a query. Try api_service_health_called_count
and you should see the following: