Debugging Istio control plane with Squash

Solo.io Squash is a distributed debugger that supports multiple languages. When running in a container environment like Kubernetes, debugging applications can be difficult especially when distributed into multiple containers with implementations in potentially different languages.

Squash can be used to set up language-native debuggers, provide all the plumbing through Kubernetes, and expose that to your native IDEs like Visual Studio Code, Eclipse or IntelliJ/GoLand.

Istio is a service-mesh implementation that exemplifies this “microservice” architecture by implementing its control plane as a set of services. We can use Solo.io Squash to debug the Istio control plane without any modification to the images (ie, adding debuggers, scripts, etc). In this video, we see a demo of using Squash to debug Istio Pilot.