While talking to folks and running the Istio workshop at KubeCon 2017, I also found out that there is some confusion about deploying and configuring Istio. I wanted to share a few surprising facts and tips about Istio to help you all understand Istio better!
- You can consume Istio piecemeal and I expect you will see more tutorials and guides around this in our official Istio documentation site. Kelsey Hightower has already started a simple istio ingress tutorial earlier this year. While Kelsey uses Google Container Engine in the tutorial, I have also validated the tutorial in IBM Cloud Container Service.
- If you don’t like to read documentation like me, you may choose to uninstall Istio by deleting the istio-system namespace. This could cause you a huge amount of grief, as you may likely end up with a non-functional Kubernetes cluster where kubectl keeps timing out when communicating with the Kubernetes API server. This situation happens because Istio isn’t cleaned up properly, especially when automatic side car injection is enabled in your Kubernetes cluster. Please follow the uninstall documentation to properly uninstall Istio.
- Envoy is just a dummy router without Pilot in the Istio environment. Istio-Proxy, the Docker image used by Istio sidecar and istio-ingress, contains not only Envoy but also the Istio Pilot agent. Istio Pilot agent pulls the configuration down from Pilot to Envoy at frequent intervals so that Envoy knows where to route.
- You get free microservice monitoring via the Grafana and Prometheus Istio addons. However, in order for distributed tracing to work with your microservices, you do need to update your code to propagate a few headers. Sample examples on how to do this are described here.
- If your microservices requires a host network, it won’t work with Istio. We disabled either manual or automatic proxy injection in this case to ensure the Kubernetes cluster is protected!
Finally, starting with Istio v0.3, we have changed Istio to produce a 2nd digit point release monthly. This is the result of great work by the Istio release automation team to ensure we can deliver updates to you, faster. This also implies that Istio 0.3 or newer may not be as well tested as v0.1 or v0.2. If you don’t want to be the pioneer to try the latest point release build, you may want to wait a bit till someone from the Istio core team has tried it. You can always check out each feature status here. That is all for now, and happy sailing with Istio!