Chapter 3: Designing an Operator – CRD, API, and Target Reconciliation
The lessons from the previous chapters have helped us understand the foundational basics of the Operator Framework. In Chapter 1, Introducing the Operator Framework, we covered the conceptual pillars of the Operator Framework and the purposes they serve. Then, in Chapter 2, Understanding How Operators Interact with Kubernetes, we discussed some general principles of software design in the context of Kubernetes and the Operator Framework. Together, these chapters have established a baseline understanding of Operators and their development in broad terms. Now, we will be applying this knowledge with examples and begin designing our own Operator.
We'll start by defining a simple problem that our Operator is going to solve. In this case, that will be managing a basic deployment of an application with a single Pod. Over the next few chapters, we will add functionality to this Operator with specific code...