Chapter 2. How a Crossplane Control Plane Works
In my opinion, a good control plane should do three things:
-
Drive the data plane toward the desired state
-
Protect the data plane
-
Be reliably available
In this chapter, I’ll explore how a control plane built with Crossplane achieves these goals. The next chapter will touch on how you can use Crossplane to build your cloud control plane.
If you know how Kubernetes’s control plane works, you’ll notice a lot of familiar concepts in this chapter. This is because Crossplane builds on the Kubernetes control plane and enjoys many of its benefits.
Driving Toward the Desired State
A control plane’s core function is to reconcile the actual state of its data plane with a desired state. A thermostat is a good example: you might desire your room to be 72°F, but its actual temperature is 65°. The thermostat can reconcile the actual state of your room (its temperature) with your desired state by running the heat until the room reaches 72°.
You tell Crossplane what the desired state of your data plane is by making API calls. Crossplane exposes a JavaScript object notation (JSON) representational state transfer (REST) API over HTTP. JSON REST APIs are broadly supported by tools and programming languages. This makes it easier to integrate Crossplane with other systems.
Crossplane APIs look a lot like Kubernetes APIs. They’re compatible with popular tools in the Kubernetes ecosystem like Helm, Argo CD, Kyverno, and kubectl. Crossplane’s APIs ...
Get What Is Crossplane? now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.