Summary
This chapter outlined the details of an Operator we would like to build. Beginning with a description of the problem (in this case, a simple Operator to manage an nginx Pod) gave a solid foundation of the solutions that are available to work with. This step even provided enough information to set a goal for the capability level of this Operator (Level II – Seamless Upgrades).
The next step was outlining what the Operator CRD will look like. To do this, we first noted some relevant conventions in the Kubernetes API that are helpful to ensure the Operator conforms to expected standards for Kubernetes objects. We then broke down the structure of a CRD and explained how each section relates to the corresponding CR object. Finally, we drafted an example of what the Operator's CR will look like in the cluster to get a concrete idea of the expectation from users.
After designing the CRD, we considered our options for managing additional resources as well. For an...