Enable Istio for Hispter app

  1. Inject sidecar envoy proxies using the following command:

    kubectl apply -f <(istioctl kube-inject -f $WORKSHOP_HOME/istio-workshop-labs/hipster-app.yaml)
  2. 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   <none>         9555/TCP       3m21s
    cartservice             ClusterIP    <none>         7070/TCP       3m21s
    checkoutservice         ClusterIP   <none>         5050/TCP       3m20s
    currencyservice         ClusterIP    <none>         7000/TCP       3m20s
    emailservice            ClusterIP   <none>         5000/TCP       3m19s
    frontend                ClusterIP    <none>         80/TCP         3m19s
    frontend-external       LoadBalancer   80:31330/TCP   3m19s
    paymentservice          ClusterIP    <none>         50051/TCP      3m18s
    productcatalogservice   ClusterIP   <none>         3550/TCP       3m18s
    recommendationservice   ClusterIP   <none>         8080/TCP       3m18s
    redis-cart              ClusterIP    <none>         6379/TCP       3m17s
    shippingservice         ClusterIP    <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.