Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between Mixer and Pilot in Istio?

I have read the docs, but seem not able to understand differences between Mixer and Pilot. Is there any overlap? I mean I would like to draw a definite boundary between them to understand their responsibilities and with respect to their communication with the envoy proxies in the mesh. Please add examples of different use-cases if possible.

like image 442
soupybionics Avatar asked Feb 06 '18 09:02

soupybionics


People also ask

What does mixer do in Istio?

Mixer provides a rich intermediation layer between the Istio components as well as Istio-based services, and the infrastructure backends used to perform access control checks and telemetry capture.

What is the difference between Istio and envoy?

Istio uses an extended version of the Envoy proxy. Envoy is a high-performance proxy developed in C++ to mediate all inbound and outbound traffic for all services in the service mesh. Envoy proxies are the only Istio components that interact with data plane traffic.

What is difference between Istio and service mesh?

Whereas upstream Istio takes a single tenant approach, Red Hat OpenShift Service Mesh supports multiple independent control planes within the cluster. Red Hat OpenShift Service Mesh uses a multitenant operator to manage the control plane lifecycle.

What are the components of Istio?

Istio has two components: the data plane and the control plane. The data plane is the communication between services. Without a service mesh, the network doesn't understand the traffic being sent over, and can't make any decisions based on what type of traffic it is, or who it is from or to.


1 Answers

The Istio Service Mesh provides the following functionalities:

  1. Routing. For example 90% of the traffic goes to the version 1 of a microservice and the remaining 10% goes to the version 2. Or some specific requests go to the version 1 and all the others to the version 2, according to some condition. And also: a) rewrite b) redirect
  2. Support for microservices development, deployment and testing: a) timeouts b) retries c) circuit breakers d) load balancing e) fault injection for testing
  3. Reporting: Logging, Distributed Tracing, Telemetry
  4. Policy enforcement
  5. Secure communication between micro services and strong identity.

Pilot is responsible for the items 1 and 2. Mixer is responsible for the items 3 and 4. Citadel (previously CA, previously Auth) is responsible for the item 5.

Envoy, the sidecar proxy, gets its routing and configuration tables from Pilot to implement the items 1 and 2. Envoy reports to Mixer about each request, to implement the item 3. Envoy asks Mixer to allow or forbid requests, to implement the item 4. Envoy gets certificates from Citadel to implement the item 5.

like image 180
Vadim Eisenberg Avatar answered Oct 12 '22 07:10

Vadim Eisenberg