Inject sidecar envoy proxies using the following command:
kubectl apply -f <(istioctl kube-inject -f $WORKSHOP_HOME/istio-workshop-labs/hipster-app.yaml)
Check that all services and pods are correctly deployed and running:
kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
adservice ClusterIP 10.19.240.108 <none> 9555/TCP 3m21s
cartservice ClusterIP 10.19.246.92 <none> 7070/TCP 3m21s
checkoutservice ClusterIP 10.19.243.138 <none> 5050/TCP 3m20s
currencyservice ClusterIP 10.19.241.45 <none> 7000/TCP 3m20s
emailservice ClusterIP 10.19.245.193 <none> 5000/TCP 3m19s
frontend ClusterIP 10.19.240.49 <none> 80/TCP 3m19s
frontend-external LoadBalancer 10.19.250.219 34.77.233.29 80:31330/TCP 3m19s
paymentservice ClusterIP 10.19.245.87 <none> 50051/TCP 3m18s
productcatalogservice ClusterIP 10.19.242.188 <none> 3550/TCP 3m18s
recommendationservice ClusterIP 10.19.255.178 <none> 8080/TCP 3m18s
redis-cart ClusterIP 10.19.246.29 <none> 6379/TCP 3m17s
shippingservice ClusterIP 10.19.254.34 <none> 50051/TCP 3m17s
kubectl get pods
NAME READY STATUS RESTARTS AGE
adservice-76b7788686-k5bhf 2/2 Running 0 2m49s
cartservice-8458b9fb4-dlm4h 2/2 Running 2 2m49s
checkoutservice-5f85f9499f-4qxrk 2/2 Running 0 2m48s
currencyservice-74894b6c7-q4j24 2/2 Running 0 2m48s
emailservice-5bfd4f4957-7vspz 2/2 Running 0 2m48s
frontend-5cb67f6b68-5fvw4 2/2 Running 0 2m47s
loadgenerator-688d4449d9-q6v5k 2/2 Running 0 2m47s
paymentservice-5bb99c59b8-mm5w5 2/2 Running 0 2m46s
productcatalogservice-f4c688fbc-s4zcj 2/2 Running 0 2m46s
recommendationservice-6b7c96f6f8-7qpd6 2/2 Running 0 2m46s
redis-cart-6f97c46c78-5xj27 2/2 Running 0 2m45s
shippingservice-7c569b6b8b-hbfgs 2/2 Running 0 2m45s
kubectl get service frontend-external
By enabling Istio for the application, we are now able to have application monitoring and observability with Grafana, Jaeger and Kiali without the need to modify the service code or rebuild the container images.