Istio is a large framework that provides a lot of capabilities, and it has multiple parts that interact with each other and with Kubernetes components (mostly indirectly and unobtrusively). It is divided into a control plane and a data plane. The data plane is a set of proxies (one per pod). Their control plane is a set of components that are responsible for configuring the proxies and collecting telemetry of data.
The following diagram illustrates the different parts of Istio, how they are related to each other, and what information is exchanged between them:
Let's go a little deeper into each component, ...