1.9 KiB
category | title | overview | parent | order | bodyclass | layout | type |
---|---|---|---|---|---|---|---|
Concepts | Istio-Manager | Introduces the Istio-Manager, the component responsible for managing a distributed deployment of Envoy proxies in the service mesh. | Traffic Management | 10 | docs | docs | markdown |
Istio-Manager service is responsible for the lifecycle of Envoy instances deployed across the Istio service mesh. It exposes APIs for service discovery, dynamic updates to load balancing pools and routing tables. These API decouple Envoy from platform-specific nuances, simplifying the design and increasing portability across platforms.
Note that Istio does not provide service registration. Instead, it relies on the platform (e.g., Kubernetes, Mesos, CloudFoundry, etc.) to automatically register pods/containers to their respective services, as they come online.
Istio-Manager maintains a canonical representation of services in the mesh that is independent of the underlying platform. Platform-specific adapters in the manager are responsible for populating this canonical model appropriately. For example, the Kubernetes adapter in the Istio-Manager implements the necessary controllers to watch the Kubernetes API server for changes to the pod registration information, ingress resources, and third party resources that store traffic management rules. This data is translated into the canonical representation. Envoy-specific configuration is generated based on the canonical representation.
Operators can specify high-level traffic management rules through the Istio-Manager's API (TBD). These rules are translated into low-level configurations and distributed to Envoy instances via the discovery API.
Diagram showing adapters. TBD