Description of Mesh Components
This document provides a brief overview of the various components of the service mesh and their roles within the platform.
TOC
Involved Open Source Solutions
- Istio: An open-source service mesh solution providing traffic management, security, and observability features.
- OpenTelemetry: An open-source observability solution that supports code-level instrumentation with broad applicability.
- Jaeger: An open-source distributed tracing solution.
- Flagger: An open-source progressive delivery tool that supports various deployment strategies, including Canary, A/B Testing, and Blue/Green.
Component Description
Control Plane Components
Data Plane Components
CPU and Memory Allocation
This section outlines the minimum recommended computing resources for service mesh components in the cluster.
CPU and memory allocation for each component are configurable.
Before creating a service mesh, ensure that the cluster nodes have sufficient CPU and memory to run all service mesh components.
Important Note:
- In production environments, it is recommended not to set limits for istiod, meaning CPU and memory are unrestricted.
- For large deployments, it is strongly recommended to use node selectors to place infrastructure on dedicated nodes in the cluster for each Istio component.
The table below summarizes the recommended minimum resource requests and limits for CPU and memory for each service mesh component.
In Kubernetes, resource requests indicate that a workload will not be deployed on a node unless that node has at least the specified amount of available memory and CPU. If the workload exceeds CPU or memory limits, it may be terminated or evicted from the node. For more information on managing container resource limits, see the Kubernetes documentation.