4/24/2023 0 Comments Based on controlplane appInstead, let us add an API ( Application Programming Interface) working over the network. Our control plane would need to “craft” these files, send their full copy around (copying them over the network, possibly, 1000s of times), proxy servers would need to load the content of the files, parse them, and hopefully do not fail in the process. So far, we based communication between the control plane and data plane on “configuration files”. How would control plane talk to data plane exactly though? Introducing APIs We arrived at an architecture where we now have a data plane (proxies) and a control plane (software that computes and distributes the configuration to proxies). It also could accept communication from proxy servers, such as telemetry reports, diagnostic information, or dynamic requests on how to handle the particular traffic. Note that often function of the control plane is not uni-directional (from the control plane to the proxy server only). This software can accept an “intended configuration” from a human operator, observe the state of the environment and dynamically configure all proxy servers in a consistent and fast manner so that their behavior matches the “intended configuration” (also called declared or desired). What you would want to do is to replace humans creating configuration files with a software that does the same. In a highly dynamic environment, like service mesh, the configuration of each proxy may change many times per minute (for example, services might come and go, endpoints might come and go, routing might change).Ĭontrol plane - software that configures data plane based on the declared (desired) state of the service network. Setup without a control plane works just fine for static environments, where you can configure your proxies once and never touch them again. Granted, this operator might attempt to automate this operation with some tools, but it does not change the concept. As you noticed, in the model described earlier, there is no control plane, just a human operator crafting configuration files and sending them around. In this sub-optimal world, when architecting a distributed system, our deployment of proxy servers is the data plane - a layer of software that processes your traffic, copying bits and bytes from the source of the traffic and sending them to its destination.ĭata plane - software that processes your traffic by copying bits and bytes from the source of the traffic and sends them to its destination.Ī control plane is a layer of software that configures data plane, telling it how and where to send these bits and bytes around. Passing around configuration files becomes tedious, and does not scale, but let’s accept this state of things for a moment. You add more servers, launch more proxy binaries, and configure every one of them using configuration files. With a scale, one proxy server becomes not enough to handle the traffic. The operator describes desired behavior of the proxy, such as “If it is HTTP request to host send it to the backends that serve images, otherwise send it to a default backend” in a configuration file, starts up a proxy server binary and lets it do its job. The operator controls proxy servers through configuration files
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |