Deploying the Istio Bookinfo demo app to a Verrazzano-enhanced kubernetes cluster


Verrazzano is an end-to-end enterprise container platform for deploying cloud-native and traditional applications in multicloud and hybrid environments. It is made up of a curated set of open source components – many that you may already use and trust, and some that were written specifically to pull together all of the pieces that make Verrazzano a cohesive and easy to use platform.

As Verrazzano includes Istio ( and other well known tools such as Grafana, Prometheus, Argo, Kiali, Rancher, OpenSearch, Velero,..) we don’t have to install Istio in the cluster.

Bookinfo is an app example provided by Istio that helps understand the whole thing, for more info click here:

STEP 1: Verify Verrazzano INSTALL

javiermugueta@mbpj % vz status 

Verrazzano Status
  Name: example-verrazzano
  Namespace: default
  Profile: prod
  Version: 1.5.2
  State: Ready
  Available Components: 25/25
  Access Endpoints:
    argoCDUrl: https://argocd.default.1x3.x7.x6.x2.nip.io
    consoleUrl: https://verrazzano.default.1x3.x7.x6.x2.nip.io
    grafanaUrl: https://grafana.vmi.system.default.1x3.x7.x6.x2.nip.io
    keyCloakUrl: https://keycloak.default.1x3.x7.x6.x2.nip.io
    kialiUrl: https://kiali.vmi.system.default.1x3.x7.x6.x2.nip.io
    openSearchDashboardsUrl: https://osd.vmi.system.default.1x3.x7.x6.x2.nip.io
    openSearchUrl: https://opensearch.vmi.system.default.1x3.x7.x6.x2.nip.io
    prometheusUrl: https://prometheus.vmi.system.default.1x3.x7.x6.x2.nip.io
    rancherUrl: https://rancher.default.1x3.x7.x6.x2.nip.io

STEP 2: DOWNLOAD ISTIO

javiermugueta@mbpj % curl -L https://istio.io/downloadIstio | sh -
javiermugueta@mbpj % cd istio-1.17.1

STEP 3: DEPLOY BOOKINFO

# create a namespace
javiermugueta@mbpj istio-1.17.1 % kubectl create namespace bookinfo

# enable istio sidecar injection in namespace
javiermugueta@mbpj istio-1.17.1 % kubectl create namespace bookinfo

# install deployment
javiermugueta@mbpj istio-1.17.1 % kubectl kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml -n bookinfo

# setup gateway and virtualservice
javiermugueta@mbpj istio-1.17.1 % kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml -n bookinfo

# obtain the pulbic ip
javiermugueta@mbpj istio-1.17.1 % kubectl get svc istio-ingressgateway -n istio-system
NAME                   TYPE           CLUSTER-IP     EXTERNAL-IP    PORT(S)                                      
istio-ingressgateway   LoadBalancer   10.96.38.224   1x3.x7.x0.x8 15021:32674/TCP,80:30985/T...

STEP 4: Verify stuff in kiali

Open up Kiali url obtained in step 1, goto Wokloads, filter by namespace and verify the deployments

Then, goto services, click on productpage-v1:

Use a tool (for example seige) to create load:

javiermugueta@mbpj istio-1.17.1 % siege -c 150 http://1x3.x7.x0.x8/productpage

Refresh the page, you should see the following graph:

Click on the upper right of the diagram, you’ll see a more detailed graph:

Come back to Workloads, click on productpage-v1:

Click on Inbound Metrics:

Take a look to the metrics:

STEP 5: SEE METRICS IN GRAFANA

Open up the Grafana url obtained in step 1, Click on General:

Under Verrazzano Monitoring, click on Kubernetes / Compute Resources / Namespace (Pods):

Take a look to the metrics:

Open up the OpenSearch url obtained in step 1, search a work like productpage:

That’s all, hope it helps!!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.