kubernetes-sigs / controller-runtime

Repo for the controller-runtime subproject of kubebuilder (sig-apimachinery)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Need help to understand the Software Architecture for my Bachelor Thesis :)

naivary opened this issue · comments

Hi guys! I'm currently writing my bachelor thesis about k8s operator. One big part is the functioning of controllers from the perspective of the operator developer. To show the internal functioning and how everything works it would be great for me to show a software architecture diagram. I have read a lot of parts of the code and could understand most of the core principles and how different components work together. But I wasnt able to put together the whole picture. This is how far i have come:
image.

I understood that the different controllers implemented by a developer are all managed by a manager. The controller are built by a Builder which is using the given predicates, managed resources (owned, for etc.) and the custom reconciler struct.

Now here is the part I cant fully put together: I dont know how the produced k8s events are recognized, converted to source.Source and how the mapping between an EventHandler and a Reconciler and the actual controller is working.

Thanks in advance for the help! I would mean a lot :)

Fot anybody who stumbles upon this and would like to understand: here is the link which is on the official documentation site...