Debug Istio
Diagnose issues with your Istio service mesh.
Gloo provides management tools on top of the open source Istio service mesh. If Istio is in a troubled state, you might notice errors in your Gloo environment. For help using the Istio diagnostic tools, see the Istio documentation.
Check the health of the Istio custom resources that relate to the issue you experience. For example, if you see unexpected routing behavior, you might check the destination rules.
kubectl get istio-io -A --context ${REMOTE_CONTEXT}
Check the health of the Istio pods and services in each cluster.
kubectl get pods,svc -A --context ${REMOTE_CONTEXT} | grep istio
Get the logs for the
istiod
control plane for the cluster where you notice service mesh issues. You can optionally save the output to a local file so that you can read and analyze it more easily.kubectl logs --context ${REMOTE_CONTEXT} -n istio-system deploy/istiod | > istiod-logs.txt
If the issue is with a sidecar-enabled workload, try debugging the Envoy proxy container. The configuration file for the sidecar in each of your Istio pods can be hundreds of lines long. Follow along with the Solo blog, Navigating Istio Config: A look into Istio’s toolkit, to learn how to use
istioctl
to focus on the most common configuration areas.If you use Grafana to monitor Istio performance, check out the Grafana performance monitoring dashboard in the Solo Communities of Practice (COP) repository.
Note that COP tools are provided as helpful starting resources that are maintained by the community. These tools are not guaranteed to work in your environment, and are not part of product SLAs.Review ways from the community to debug your service mesh:
- Istio diagnostic tools documentation
- Istio debugging video
- Istio CLI cheatsheet for Ops teams, a blog post from a Solo engineer