Deploy Linkerd Service Mesh on an EKS cluster using Terraform and Helm. Deploy the sample Emojivoto application and inject the lightweight Linkerd sidecar into its deployments. Diagnose the deployments that are less than a 100% success rate. Tap the ones in failure to analyze the cause. Visualize the key metrics using Grafana dashboards.
- Docker
- AWS user with programmatic access and high privileges
- Linux terminal
- Deploy an EKS K8 Cluster with Self managed Worker nodes on AWS using Terraform.
-
- Deploy a NGINX Ingress on the above EKS cluster (Pod->service->Ingress->ELB+ACM->Route 53->Domain URL).
- Clone the repository
- Set environment variable TF_VAR_AWS_PROFILE
- Review terraform variable values in variables.tf, locals.tf
- Override values in the Helm chart through the "chart_values.yaml" file
- Update kubernetes.tf with the AWS S3 bucket name and key name from the output of the EKS K8 Cluster
- Configure AWS user with AWS CLI.
docker-compose run --rm aws configure --profile $TF_VAR_AWS_PROFILE
docker-compose run --rm aws sts get-caller-identity
- Specify appropriate Terraform workspace.
docker-compose run --rm terraform workspace show
docker-compose run --rm terraform workspace select default
- Run Terraform apply to create the EKS cluster, k8 worker nodes and related AWS resources.
./run-docker-compose.sh terraform init
./run-docker-compose.sh terraform validate
./run-docker-compose.sh terraform plan
./run-docker-compose.sh terraform apply
- Verify kubectl calls and ensure Deployments, Services and Pod are in Running status.
./run-docker-compose.sh kubectl get all -n linkerd
./run-docker-compose.sh kubectl get all -n linkerd-viz
./run-docker-compose.sh kubectl get all -n emojivoto
- View Linkerd dashboard and the sample emojivoto application dashboard using the links below (replace with your domain name)
Linkerd: Domain Https URL, prefixed by linkerd
Emojivoto: Domain Https URL, prefixed by emojivoto
- 0.1
- Initial Release
This project is licensed under the MIT License - see the LICENSE file for details