This is the github repository for the term project for CMPT 756 (Cloud Benders)
Name: Abhishek Rungta, Shubham Saini, Siddhant Sood, Bhawna Arya
Structure:
cluster
: Configuration files for our clusterdb
: This is the for the database servicemcli
: For the music clis1
: This is the user services2
: This is the music services3
: This is the playlist servicetools
: Scripts that are useful in make-filesloader
: loads csv files to dynamo db
Initial setup
1. Dependencies required
- istioctl
- kubectl
- aws
- gcloud
- build-essentials
2. Instantiate the templates
First we need to fill in the required values in the template variable file.
tpl-vars.txt
Then initiate the template
$ make -f k8s-tpl.mak templates
Deployment
1. Setting up gcp
make -f gcp.mak start
It will create 3 nodes.
2. Provisioning the cluster
make -f k8s.mak provision
3. install kiali
make -f k8s.mak kiali
4. Ensure AWS DynamoDB is accessible/running
$ aws dynamodb list-tables
Monitoring
Grafana
To get the URL for grafana , run the command.
username: admin password: prom-operator
make -f k8s.mak grafana-url
Kiali
To get the kiali URL , run the command
make -f k8s.mak kiali-url
Prometheus
To get the prometheus URL, run the command
make -f k8s.mak prometheus-url
Gatling - Load Testing
we created 3 gatling scripts one for each microservice
./gatling-music.sh 1000
./gatling-playlist.sh 1000
./gatling-user.sh 1000
The above command basically generates test load on all the three applications. Where the argument specifies the number of service objects.
we can adjust the load by specifying the argument.
Stopping gatling
./tools/kill-gatling.sh
Close the cluster
make -f gcp.mak stop