3 Istio’s data plane: The Envoy proxy

 

This chapter covers

  • Understanding the standalone Envoy proxy and how it contributes to Istio
  • Exploring how Envoy’s capabilities are core to a service mesh like Istio
  • Configuring Envoy with static configuration
  • Using Envoy’s Admin API to introspect and debug it

When we introduced the idea of a service mesh in chapter 1, we established the concept of a service proxy and how this proxy understands application-level constructs (for example, application protocols like HTTP and gRPC) and enhances an application’s business logic with non-differentiating application-networking logic. A service proxy runs collocated and out of process with the application, and the application talks through the service proxy whenever it wants to communicate with other services.

With Istio, the Envoy proxies are deployed collocated with all application instances participating in the service mesh, thus forming the service-mesh data plane. Since Envoy is such a critical component in the data plane and in the overall service-mesh architecture, we spend this chapter getting familiar with it. This should give you a better understanding of Istio and how to debug or troubleshoot your deployments.

3.1 What is the Envoy proxy?

3.1.1 Envoy’s core features

3.1.2 Comparing Envoy to other proxies

3.2 Configuring Envoy

3.2.1 Static configuration

3.2.2 Dynamic configuration

3.3 Envoy in action

3.3.1 Envoy’s Admin API

3.3.2 Envoy request retries

3.4 How Envoy fits with Istio

Summary

sitemap