This directory contains sample deployments of various addons that integrate with Istio. While these applications are not a part of Istio, they are essential to making the most of Istio's observability features.
The deployments here are meant to quickly get up and running, and are optimized for this case. As a result, they may not be suitable for production. See below for more info on integrating a production grade version of each addon.
To quickly deploy all addons:
kubectl apply -f samples/addons -n istio-system
Alternatively, you can deploy individual addons:
kubectl apply -f samples/addons/prometheus.yaml -n istio-system
Prometheus is an open source monitoring system and time series database. You can use Prometheus with Istio to record metrics that track the health of Istio and of applications within the service mesh. You can visualize metrics using tools like Grafana and Kiali.
For more information about integrating with Prometheus, please see the Prometheus integration page.
Grafana is an open source monitoring solution that can be used to configure dashboards for Istio. You can use Grafana to monitor the health of Istio and of applications within the service mesh.
This sample provides the following dashboards:
For more information about integrating with Grafana, please see the Grafana integration page.
Kiali is an observability console for Istio with service mesh configuration capabilities. It helps you to understand the structure of your service mesh by inferring the topology, and also provides the health of your mesh. Kiali provides detailed metrics, and a basic Grafana integration is available for advanced queries. Distributed tracing is provided by integrating Jaeger.
For more information about using Kiali, see the Visualizing Your Mesh task.
Jaeger is an open source end to end distributed tracing system, allowing users to monitor and troubleshoot transactions in complex distributed systems.
Jaeger helps in a variety of tasks including:
For more information about integrating with Jaeger, please see the Jaeger integration page.
Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in service architectures. Features include both the collection and lookup of this data.
Zipkin is an alternative to Jaeger and is not deployed by default. To replace Jaeger with Zipkin, run
kubectl apply -f samples/addons/extras/zipkin.yaml -n istio-system. You may also want to remove the Jaeger deployment, which will not be used, with
kubectl delete deployment jaeger, or avoid installing it to begin with by following the selective install steps in Getting Started.
For more information about integrating with Zipkin, please see the Zipkin integration page.