Istio — Service Mesh on top of Kubernetes

Typical Kubernetes Inter Microservice Communication

As depicts by the below diagram, in a typical kubernetes deployment, mainly we need three components to enable the communication between microservices.

  • Ingress Controller — This will help us to expose the service outside of the network.
  • Service — Which will load balance between multiple replicas and expose the deployed micro services to the internal network.

What is Service Mesh and why we need it?

Service Mesh is a tool for adding observability, security, and reliability features to “cloud native” applications by transparently inserting this functionality at the platform layer rather than the application layer.

Istio Architecture and Message Flow

Step-by-Step guide to implement Istio on top of kubernetes

  1. For this demonstration i’m using the minikube kubernetes cluster and follow the below document to get it installed. https://minikube.sigs.k8s.io/docs/start/
  2. Setting up the Istioctl, to setup first download the Istio distribution to the machine where you setup the kubectl, when configuring the minikube cluster. You can use the below command to download the distribution.

References

[1] https://www.youtube.com/watch?v=16fgzklcF7Y

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ajanthan Eliyathamby 🇱🇰

Ajanthan Eliyathamby 🇱🇰

Associate Architect — Enterprise Integration | WSO2 Certified Solution Architect | https://ajanthane.blogspot.com/