Comments (1)
Istio – Service Mesh
Our platform extends Kubernetes by installing Istio, a service mesh. Istio works by injecting a second container into every pod. This injected container, referred to as a sidecar, monitors the network traffic into and out of the pod.
Pre-requisite
-
AWS EKS cluster should be up and running which will serve the 4 microservices, db (database service), s1 (user service), s2 (music service), and s3 (playlist service).
a. Starting a fresh EKS cluster.
make -f eks.mak start
-
Ensure AWS DynamoDB is initialized. The tables have to be available for db (database service) to serve the other 3 microservices. (s1/s2/s3)
aws dynamodb list-tables
-
Provision the cluster. This includes;
a. Create a namespace within the cluster in which applications will be placed.
kubectl create ns c756ns
kubectl config set-context --current --namespace=c756ns
b. Provision the Kubernetes cluster. This includes “Installing Istio”, “Installing Prometheus stack by callingobs.mak
recursively”, and “Deploying and monitoring the four microservices”.
make -f k8s.mak provision
-
Run the following command to install kiali
make -f obs.mak install-kiali
-
Get the Grafana and kiali URL using the following command.
make -f k8s.mak grafana-url
make -f k8s.mak kiali-url
-
Generate traffic into the cluster using the gatling scripts.
$ ./gatling-1-user.sh
$ ./gatling-5-music.sh
The Kiali graph
Using the controls, configure the graph as follows (controls listed starting at top left, proceeding left to right):
• Namespaces: c756ns
• Graph type: Versioned app graph
• Display interval: Last 1m
• Refresh interval: Every 30s
• Display:
o Show Edge Labels: Traffic Rate
o Show: Compressed Hide, Operation Nodes, Service Nodes, Traffic Animation
o Show Badges: Virtual Services
The two leftmost nodes in the graph are labelled istio-ingressgateway and unknown. These are where incoming requests enter the mesh.
Requests entering from istio-ingressgateway are from outside the cluster. All the requests made by the Gatling simulations enter via this node.
The unknown node is Prometheus. Requests from this node are requests for metrics values, one per node every 30 seconds. Prometheus is listed as unknown because in our configuration it is not included in the mesh.
from term-project-cloudriven.
Related Issues (20)
- Testing new endpoints for s3 service in postman
- Update README file HOT 1
- Create "playlist.csv" HOT 1
- Create Scripts to run Gatling containers HOT 1
- Create a playlist table in Dynamodb HOT 2
- Test Retry mechanisems HOT 1
- Scale the services, test failure of node and recovery mechanisms HOT 3
- Add automation
- Renamed issue19-s3 branch name to dev HOT 2
- Add and test circuit breaker HOT 1
- Fix issue with the AWS DynamoDB tables HOT 1
- S2 Music service cleanup
- API setup for microservices
- Fix the loader issue HOT 1
- Create pcli for the new service HOT 2
- S3 error with listing all playlists HOT 2
- S3 error with creating a playlist HOT 1
- Perform Gatling Scaling Test - Load Evenly Distributed
- Perform Gatling Scaling Test - Stress Test
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from term-project-cloudriven.