This demo can be deployed in Google Cloud. The scripts can be run in a sequence starting from 1-start.sh
1-start.sh- Sets up the envirobment with Google Cloud login. Change the project id and cluster name to your project and your Kubernetes cluster.2-apply-config.sh- Deploys thedistributed-trace.ymlin the cluster3-linkerd-setup.sh- Sets up Linkerd in the cluster4-linkerd-inject.sh- Inject linkerd sidecars in the deployment.curl.sh- Does a recursive call to the application to create artificial traffic to the application.distributed-trace.yml- Deployment config in Kubernetes for havingspring-cloud-sleuth-serverandspring-cloud-sleuth-clientdeployed as 2 containers in a single pod. They have distributed tracing enabled using Spring Cloud Sleuth which helps in Distributed tracing.spring-cloud-sleuth-example- code based for the client and server microservice which has already been dockerized and uploaded to Google Container Registry(gcr.io). It's public, so you can use it as well.
This demo covers the 3 pillars of observability - Metrics, Logging and Tracing.
client- Exposed from external serviceserver- Accessible from theclient
linkerdservice mesh collects metrics about the pods and containers.- Spring Cloud Sleuth is used for Distributed tracing across microservices.
- Google Stack Driver also collects the logs, metrics in the Google Cloud platform from the Google Kubernetes Engine.

