Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Linkerd architecture of Service Mesh service grid | Frontier

2025-01-18 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/03 Report--

Today, let's introduce the architecture of Linkerd in detail.

Control plane

The Linkerd control plane is a set of services that run in a dedicated Kubernetes namespace (by Linked default). These services accomplish everything-aggregating telemetry data, providing user-oriented API, providing control data to data plane agents, and so on. Together, they drive the behavior of the data plane.

The control plane consists of four parts:

Controller-Controller deployment consists of multiple containers (public-api,proxy-api,destination,tap) that provide most of the functionality of the control plane. Web--Web deployments provide Linkerd Dashboard. All metrics exposed by Prometheus-- Linkerd are deleted and stored through Prometheus. This is an instance of Prometheus that has been configured specifically to process data generated by Linkerd. Grafana-- Linkerd comes with a lot of out-of-the-box Dashboard. The Grafana component is used to render and display these Dashboard. You can access these Dashboard through the links in LinkerdDashboard.

Architecture

Data plane

The Linkerd data plane consists of lightweight agents that are deployed as sidecar containers with each instance of the service code. In order to "add" the service to the Linkerd service grid, you must redeploy the service's pod so that each pod contains a data plane proxy. (the linkerd inject command does this, as well as the configuration required to transparently pass traffic from each instance through the proxy.) you can add services to the data plane using a single CLI command.

These agents transparently intercept communication with each pod and add features such as detection and encryption (TLS), as well as allowing and denying requests according to relevant policies.

These agents are not manually configured. Instead, their behavior is driven by the control plane.

Agent

An ultra-light transparent agent written in Rust that is installed in every pod of the service and becomes part of the data plane. It receives all incoming traffic from pod and intercepts outgoing traffic and forwards traffic correctly by configuring initcontainer's iptables. Because it is a sidecar and intercepts all incoming and outgoing traffic to the service, you don't need to change the code, and you can even add it to the running service.

The functions of the agent include:

Transparent, zero configuration proxies for HTTP,HTTP / 2 and any TCP protocol

Automatic Prometheus metric export for HTTP and TCP traffic

Transparent, Zero configuration WebSocket Agent

Automatic, delay-aware, layer 7 load balancing

Automatic layer 4 load balancing for non-HTTP traffic

Automatic TLS (lab)

On-demand diagnostic classification API

Agents support service discovery through DNS and target gRPC API

CLI

Linkerd CLI runs locally on your machine and is used to interact with the control and data plane. It can be used to view statistics, debug production problems in real time, and install / upgrade control and data planes.

Dashboard

Linkerd Dashboard provides a high-level view that shows what is happening to your service in real time. It can be used to view "golden" metrics such as success rate, request / second, and latency, to visualize service dependencies, and to understand the health of specific service routes.

Top Line index

Grafana

As a component of the control plane, Grafana provides operational Dashboard out of the box for your service. You can look at high-level metrics and delve into the details, even for pod.

Out-of-the-box Dashboard include:

Top Line index

Deployment details

Pod details

Linkerd health diagnosis

Prometheus

Prometheus is a cloud native monitoring solution that collects and stores all Linkerd metrics. It is installed as part of the control plane and provides data used by CLI, Dashboard, and Grafana.

The agent exposes a / metrics endpoint on port 4191, letting Prometheus get the data, and get it every 10 seconds

Index set

For more technical articles, scan the QR code below

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report