The Istio Service Mesh

Istio addresses the challenges developers and operators face with a distributed or microservices architecture. Whether you're building from scratch or migrating existing applications to cloud native, Istio can help.

Install istioctl

Download and Install latest istioctl in your local machine:

curl -L | sh -
ISTIO_DIR=$(find . -name istio*)
export PATH=$ISTIO_DIR/bin:$PATH

Get started

Enable Istio Service Mesh on default Namespace

Label the default namespace for Istio automatic sidecar injection:

kubectl label namespace default

NOTE: The revision value corresponds to the Istio version that was installed. The example above shows Istio v1.10.1 was installed. For example if your use 1.8.6 then the will be

Deploy BookInfo Application

Now deploy Deploy Bookinfo Application

Once successfully deployed, expose the application to outside world

After you have exposed the application to outside world, try accessing it using the $GATEWAY_IP.

Run the following command to get Istio Ingress IP:

export GATEWAY_IP=$(kubectl -n istio-system get service istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].ip}')

Accessing the application,

curl -I $GATEWAY_IP/productpage

The curl should return a response as shown below:

HTTP/1.1 200 OK
content-type: text/html; charset=utf-8
content-length: 5179
server: istio-envoy
date: Thu, 10 Jun 2021 06:51:29 GMT
x-envoy-upstream-service-time: 107


Opening the following url in the web browser, to see the sample book application landing page:



Istio Documentation