Customizing the data plane using Envoy Filter
Istio provides an EnvoyFilter
API, which provides options to modify configurations created via other Istio custom resource definitions (CRDs). Essentially one of the functions performed by Istio is translating high-level Istio CRDs into low-level Envoy configurations. Using the EnvoyFilter
CRD, you can change those low-level configurations directly. This is a very powerful feature but also should be used cautiously as it has the potential to make things worse if not used correctly. Using EnvoyFilter
, you can apply configurations that are not directly available in Istio CRDs and perform more advanced Envoy functions. The filter can be applied at the namespace level as well as selective workload levels identified by labels.
Let’s try to understand this further via an example.
We will pick one of the hands-on exercises we performed in Chapter 7 to route a request to hhtppbin.org
. Do not forget to create the Chapter09
folder and...