Link: Kubernetes Controllers at Scale
“Whether you are already working on some Kubernetes project or are just getting started with developing your first Kubernetes Operator, chances are high that you have been wondering about how to best use Kubernetes clients in go. As most development in the Kubernetes space is done in go, available client libraries for interacting with the Kubernetes API have evolved over time to make controllers immensely scalable. When using them in your projects, you will benefit from all the know-how and expertise that is coded into them. However, the available options might cause some confusion and leave a lot of questions”.
This is a very comprehensive introduction to the Kubernetes API when used from an Operator, and some practical discussions on caching and how to query/update/delete resources.
Kubernetes Controllers at Scale: Clients, Caches, Conflicts, Patches Explained